#zookeeper配置
export ZOOKEEPER_HOME=/usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7ZOOKEEPER_HOME/bin
export ZK_LOG_DIR=/usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/logs

#kafka配置
export KAFKA_HOME=/usr/local/develop/kafka/kafka_2.12-2.2.1
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7KAFKA_HOME/bin

#nginx配置
#export NGINX_HOME=/usr/local/nginx
#export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7NGINX_HOME/sbin

#nodejs配置
export NODE_HOME=/usr/local/develop/nodejs/node-v12.13.1-linux-x64
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7NODE_HOME/bin

#RocketMQ配置
export ROCKETMQ_HOME=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7ROCKETMQ_HOME/bin
export NAMESRV_ADDR=127.0.0.1:9876

#openresty配置
export OPENRESTY_HOME=/usr/local/openresty/nginx
export PATH=docker 安装elk 7 docker安装步骤_centos_06PATH

#idea配置
export IDEA_HOME=/usr/local/develop/idea/idea-IC-232.9559.62
export PATH=:docker 安装elk 7 docker安装步骤_docker 安装elk 7{IDEA_HOME}/bin

#elasticsearch配置
export ELASTICSEARCH_HOME=/usr/local/develop/elasticsearch/elasticsearch-7.4.0/
export PATH=:docker 安装elk 7 docker安装步骤_docker 安装elk 7{ELASTICSEARCH_HOME}/bin

#kibana配置
export KIBANA_HOME=/usr/local/develop/kibana/kibana-7.4.0-linux-x86_64
export PATH=:docker 安装elk 7 docker安装步骤_docker 安装elk 7{KIBANA_HOME}/bin

#搜狗输入法配置
export XIM_PROGRAM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=“@im=fcitx”

####################################################################################################

### 8.Docker常用命令

#通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
systemctl status docker # 查看docker服务状态
#查看docker版本:
docker -v
#删除容器的命令,删除前如果容器在运行中,要先停止
docker rm 容器名
#如果你不知道容器的名称,可以使用docker ps -a命令查看所有容器,其中包括其名称和ID。
docker ps -a
#查看正在运行的容器
docker ps
#进入容器的命令
docker exec -it 容器名称 /bin/bash
#运行容器
docker start 容器名称
#停止容器
docker stop 容器名称

#制作新的镜像(将docker中已经配置好的容器导出为新镜像)
docker commit 容器id 新镜像名称
#查看镜像的id
docker images
#导出镜像为tar格式的包
docker save 镜像id > /路径/xxx.tar
#加载镜像到docker中
docker load < xxx.tar
#给镜像重命名
docker tag 镜像id 新镜像名称:版本

#查看镜像:
docker images 或 docker image ls
#删除镜像:
docker rmi 镜像名或者镜像id
#查看卷:
docker volume ls
#查看容器详细信息,容器的ip
docker inspect 容器id/容器名称
#查看容器启动日志
docker logs 容器id/容器名称

#开启容器自启动
#在docker启动容器时可以增加参数
docker run –-restart=always
#容器已经启动,通过update命令进行修改
docker update –-restart=always
#关闭自启
#容器关闭自启动:
docker update --restart=no
#取消所有容器自启动
docker update --restart=no $(docker ps -q)

#查看所有当前可用的Docker网络
docker network ls
#删除网络
docker network rm 网络名称
#查看所有未使用的网络并删除
docker network prune
#创建自定义网络(默认是桥接模式)

方式一

docker network create 网络名称

方式二:指定IP和网关

docker network create --subnet=172.10.0.0/16 --gateway=172.10.0.1 网络名称

方式三:创建网络并绑定物理网卡,网络模式 macvlan bridge

docker network create -d macvlan --subnet=172.16.86.0/24 --gateway=172.16.86.1 -o parent=eth0 网络名称
#解除容器绑定的网络
docker network disconnect 网络名称 容器名称
#为容器重新指定网络
docker network connect 网络名称 容器名称
#为容器重新指定网络和ip
docker network connect 网络名称 容器名称 --ip 192.168.252.10

#容器文件复制到本地目录
docker cp 容器名称:容器中的目录 本地目录的路径
例:docker cp tomcat:/usr/local/tomcat/conf /usr/local/develop/docker-app/tomcat
#容器文件映射到本地目录(挂载)
docker run -v 本地目录的路径:容器中的目录 容器名称或者容器id
例:docker run -v /usr/local/develop/docker-app/tomcat/conf:/usr/local/tomcat/conf tomcat

### 9.升级系统内核

#1.查看系统版本
cat /etc/redhat-release
#2.查看当前默认使用的内核版本
uname -r
#3.查看现有内核启动顺序
awk -F’ ‘$1=="menuentry " {print $2}’ /etc/grub2.cfg
#4.更源仓库,时间会比较长一点。
yum -y update
#5.导入密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#6.安装yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#7.查看可以安装的内核版本
yum --disablerepo=“*” --enablerepo=“elrepo-kernel” list available
#8.安装最新版内核
yum -y --enablerepo=elrepo-kernel install kernel-lt
#9.编辑grub文件,把GRUB_DEFAULT=saved改成GRUB_DEFAULT=0
vim /etc/default/grub
#或者,设置好新的内核启动项
grub2-set-default 0
#10.根据/etc/default/grub自动生成开机配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
#11.重启机器生效
reboot
#12.再次看看更新好了没
uname -r

![在这里插入图片描述]()


## 常规方式安装软件和启动步骤


### 1.JDK8

#1.先卸载open-jdk
rpm -qa | grep java #查询openjdk对应的版本信息
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 #逐个卸载,后面复制粘贴版本信息即可
#2.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir jdk8
cd jdk8
#3.解压安装包
tar -xzvf jdk-8u231-linux-x64.tar.gz -C /usr/local/develop/jdk8
#4.修改环境变量
vim /etc/profile
复制到文件的最末尾:
export JAVA_HOME=/usr/local/develop/jdk8/jdk1.8.0_231
export PATH=docker 安装elk 7 docker安装步骤_centos_10PATH
export CLASSPATH=.:docker 安装elk 7 docker安装步骤_tomcat_11{JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
#5.刷新配置文件
source /etc/profile
#6.查看java版本信息
java -version

![在这里插入图片描述]()


### 2.Maven

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir maven
cd maven
#2.解压安装包
tar -xzvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/develop/maven
#3.解压完毕以后,新建一个repository仓库,用于存放Maven下载下来的jar包
mkdir maven_local_repository
#4.编辑settings.xml文件
vi apache-maven-3.6.3/conf/settings.xml
#5.设置Maven仓库,就是我刚才新建的文件夹
/usr/local/develop/maven/maven_local_repository
#6.配置为阿里云镜像地址

nexus-aliyun
central
Nexus aliyun
https://maven.aliyun.com/repository/public
#7.配置环境变量
vim /etc/profile
#添加下面的配置
export MAVEN_HOME=/usr/local/develop/maven/apache-maven-3.6.3
export PATH= P A T H : PATH: PATH:MAVEN_HOME/bin
#8.运行以下命令使profile文件生效
source /etc/profile
#9.检查环境配置是否成功
mvn -v

![在这里插入图片描述]()


### 3.Tomcat

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir tomcat
cd tomcat
#2.解压安装包
tar -xzvf apache-tomcat-9.0.29.tar.gz -C /usr/local/develop/tomcat
#3.配置环境path
vim /etc/profile
#添加下面的配置
#Tomcat配置
export TOMCAT_HOME=/usr/local/develop/tomcat/apache-tomcat-9.0.29
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7TOMCAT_HOME/bin
#4.运行以下命令使profile文件生效
source /etc/profile
#5.启动/关闭 Tomcat
tomcat 解压缩后就可以使用了,用 cd 命令切换到 tomcat 主目录下的 bin 目录
./startup.sh
./shutdown.sh
由于已经配置了环境变量了,在任意位置都可以执行命令
在浏览器中访问 tomcat,要关闭linux的防火墙

![在这里插入图片描述]()


### 4.MySQL

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir mysql
cd mysql
#2.解压安装包
tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar -C /usr/local/develop/mysql
#3.安装客户端
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm --force --nodeps
#4.安装服务端
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm --force --nodeps
#5.修改mysql默认字符集
vi /etc/my.cnf
添加如下内容:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
– 在文件最下方添加
[client]
default-character-set=utf8
#6.启动mysql服务,在Linux中MySQL安装好了之后系统会自动的注册一个服务,服务名称叫做mysqld,所以可以通过以下命令操作MySQL:
启动 MySQL 服务:systemctl start mysqld
重启 MySQL 服务:systemctl restart mysqld
关闭 MySQL 服务:systemctl stop mysqld
#7.登录mysql,rpm安装MySQL会自动生成一个随机密码,可在/var/log/mysqld.log这个文件中查找该密码
查看初始密码:cat /var/log/mysqld.log
mysql -u root -p (密码 敲回车)
密码类似ohHmyrmQE1!D
在A temporay password is generated for root@localhost: 密码 ;root@localhost:后面的就是初始密码
#8.修改mysql登录密码
set global validate_password_policy=0;
set global validate_password_length=1;
set password=password(‘密码’);
#9.授予远程连接权限
//授权
grant all privileges on . to ‘root’ @‘%’ identified by ‘密码’;
//刷新
flush privileges;
#10.关闭Linux系统防火墙
systemctl stop firewalld
systemctl disable firewalld
#11.重启mysql服务
systemctl restart mysqld
#12.使用navicat工具连接mysql

![在这里插入图片描述]()


### 5.Redis


(1)安装

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir redis
cd redis
#2.解压安装包
tar -xzvf redis-6.2.4.tar.gz -C /usr/local/develop/redis
#3.redis是c语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc,需要输入以下命令
yum install gcc
#4.进入redis-6.2.4,使用make命令进行编译将.c文件编译成.o文件
cd redis-6.2.4
make
编译成功之后会出现“It’s a good idea to run ‘make test’”的提示
#5.使用命令 进行安装
make PREFIX=/usr/local/develop/redis/redis-6.2.4 install
安装完成会出现一个bin目录,里面的结构如下:
redis-benchmark ----性能测试工具
redis-check-aof ----AOF文件修复工具
redis-check-rdb ----RDB文件检查工具(快照持久化文件)
redis-cli ----命令行客户端
redis-sentinel ----哨兵
redis-server ----redis服务器启动命令
#6.修改配置文件
cd /usr/local/develop/redis/redis-6.2.4
vim redis.conf
进入后使用编辑模式进行修改以下部分
将bind 127.0.0.1 -::1 替换为bind 0.0.0.0
将 daemonize on 替换成 daemonize yes

(2)启动

cd /usr/local/develop/redis/redis-6.2.4
如果输入以下第一个命令无法启动 提示./redis.conf没有权限 在输入命令这个命令即可
chmod 777 redis.conf
#启动redis服务
bin/redis-server ./redis.conf
#查看已经启动的redis服务关闭redis服务
ps -ef|grep redis
#redis的客户端
bin/redis-cli

#关闭redis命令,需要先退出redis客户端
#退出redis客户端
exit
#关闭redis
bin/redis-cli shutdown
#查看关于redis 的进程
ps -ef|grep redis

![在这里插入图片描述]()


### 6.Zookeeper


(1)安装

#1.环境准备
ZooKeeper服务器是用Java创建的,必须安装jdk
#2.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir zookeeper
cd zookeeper
#3.解压安装包
tar -xzvf apache-zookeeper-3.5.6-bin.tar.gz -C /usr/local/develop/zookeeper
#4.配置zoo.cfg
#进入到conf目录
cd /usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/conf
#拷贝
cp zoo_sample.cfg zoo.cfg
#创建zooKeeper存储目录
cd /usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/logs
mkdir zkData
#修改zoo.cfg
vim /usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/conf/zoo.cfg
#进入修改页面后修改dataDir=/usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/logs/zkData
#5.设置环境变量
vim /etc/profile
#zookeeper配置
export ZOOKEEPER_HOME=/usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7ZOOKEEPER_HOME/bin
export ZK_LOG_DIR=/usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/logs
#6.使配置生效:
source /etc/profile

(2)启动

cd /usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/bin
#启动
./zkServer.sh start
#关闭
./zkServer.sh stop
#查看ZooKeeper状态
./zkServer.sh status

![在这里插入图片描述]()


### 7.Kafka


(1)安装

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir kafka
cd kafka
#2.解压安装包
tar -xzvf kafka_2.12-2.2.1.tgz -C /usr/local/develop/kafka
#3.配置环境变量
vim /etc/profile
#kafka配置
export KAFKA_HOME=/usr/local/develop/kafka/kafka_2.12-2.2.1
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7KAFKA_HOME/bin
#4.使配置生效:
source /etc/profile
5.配置config中的server.properties文件
cd /usr/local/develop/kafka/kafka_2.12-2.2.1/config
vim server.properties
#broker.id属性在kafka集群中必须要是唯⼀
broker.id=0
#kafka部署的机器ip和提供服务的端⼝号
listeners=PLAINTEXT://192.168.231.130:9092
#kafka的消息存储⽂件
log.dir=/usr/local/develop/kafka/kafka_2.12-2.2.1/logs/kafka-logs
#kafka连接zookeeper的地址
zookeeper.connect=192.168.231.130:2181

#另外:
kafka安装包内集成的有zookeeper,其实不用单独安装zookeeper。kafka在2.8之后就可以不用zookeeper来管理节点了
#配置zookeeper:
cd /usr/local/develop/kafka/kafka_2.12-2.2.1/config
vim zookeeper.properties
dataDir=/usr/local/develop/kafka/kafka_2.12-2.2.1/logs/zookeeper-logs

(2)启动

#启动
#先启动zookeeper,再启动kafka
cd /usr/local/develop/kafka/kafka_2.12-2.2.1/bin
zookeeper-server-start.sh …/config/zookeeper.properties
kafka-server-start.sh …/config/server.properties
#查看kafka进程
ps -ef | grep kafka
#停止后台运行
kafka-server-stop.sh
#验证kafka是否可以正常使用 ,运行kafka生产者发送消息
kafka-console-producer.sh --topic topic_1 --broker-list localhost:9092
#另打开窗口消费者消费消息
kafka-console-consumer.sh --bootstrap-server localhost:9092 - -topic topic_1 --from-beginning

![在这里插入图片描述]()



> 
> 注意:  
>  Java或者kafka\_tool连接不上虚拟机的kafka解决方法:  
>  首先,关闭防火墙  
>  其次在config/server.properties的配置文件中,要把这两行注释打开  
>  listeners=PLAINTEXT://:9092  
>  advertised.listeners=PLAINTEXT://192.168.231.129:9092
> 
> 
> 


![在这里插入图片描述]()


![在这里插入图片描述]()


### 8.nginx


(1)安装

#1.安装nginx依赖
#安装gcc
yum install gcc-c++
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
#安装Open SSL
yum install -y openssl openssl-devel
#2.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir nginx
cd nginx
#3.解压安装包
tar -xzvf nginx-1.18.0.tar.gz -C /usr/local/develop/nginx
#编译 执行命令 考虑到后续安装ssl证书 添加两个模块 如不需要直接执行./configure即可
cd nginx-1.18.0
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install

(2)启动

执行完上面的所有命令后,会在/usr/local目录下生成一个nginx文件夹
cd /usr/local/nginx/sbin
#配置环境
vim /etc/profile
#nginx配置
export NGINX_HOME=/usr/local/nginx
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7NGINX_HOME/sbin
#使配置生效:
source /etc/profile

默认配置文件启动

./nginx

指定配置文件启动

./nginx -c /usr/local/nginx/conf/nginx.conf
cd /usr/local/nginx/sbin

停止指令

./nginx -s stop

./nginx -s quit

重启命令

./nginx -s reload

查看nginx进程

ps -ef|grep nginx

#设置开机自启动nginx
#编辑
vim /etc/rc.local
#最底部增加这一行
/usr/local/nginx/sbin/nginx
#若要修改监听端口,可打开nginx的配置文件进行修改。

打开配置文件

vi /usr/local/nginx/conf/nginx.conf

![在这里插入图片描述]()


### 9.Nacos

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir nacos
cd nacos
#2.解压安装包
tar -xzvf nacos-server-2.2.3.tar.gz -C /usr/local/develop/nacos
#3.启动
cd /usr/local/develop/nacos/nacos/bin
sh startup.sh -m standalone
#4.验证是否启动成功
#访问地址 默认账号密码是nacos/nacos
http://ip:8848/nacos #关闭
sh shutdown.sh

#Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。
#如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:
#进入nacos配置文件目录
cd /usr/local/develop/nacos/nacos/conf
#编辑nacos配置文件
vim application.properties

![在这里插入图片描述]()


### 10.Docker


(1)安装

#1.如果之前安装过旧版本的Docker,可以使用下面命令卸载:
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine
docker-ce
#2.安装docker,需要虚拟机联网,安装yum工具
yum install -y yum-utils
device-mapper-persistent-data
lvm2 --skip-broken
#3.然后更新本地镜像源:

设置docker镜像源

yum-config-manager
–add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sed -i ‘s/download.docker.com/mirrors.aliyun.com/docker-ce/g’ /etc/yum.repos.d/docker-ce.repo

yum makecache fast
#4.然后输入命令:docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
yum install -y docker-ce

(2)启动

#启动docker前,一定要关闭防火墙!!

关闭防火墙

systemctl stop firewalld

禁止开机启动防火墙

systemctl disable firewalld

#通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
systemctl status docker # 查看docker服务状态
#然后输入命令,可以查看docker版本:
docker -v

![在这里插入图片描述]()


注意:


docker官方镜像仓库网速较差,我们需要设置国内镜像服务:


参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors


### 11.ElasticSearch


(1)安装

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir elasticsearch
cd elasticsearch
#2.解压安装包
tar -xzvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /usr/local/develop/elasticsearch
#3.创建普通用户(本linux中已经创建过了普通用户test,所以可以跳过此步骤)
#因为安全问题,Elasticsearch 不允许root用户直接运行,所以要创建新用户,在root用户中创建新用户,执行如下命令
useradd test # 新增test用户
passwd test # 为test用户设置密码
#4.为新用户授权,如下图
chown -R test:test /usr/local/develop/elasticsearch/elasticsearch-7.4.0 #文件夹所有者
将/usr/local/develop/elasticsearch/elasticsearch-7.4.0文件夹授权给test用户,由下图可见,我们的文件夹权限赋给了test
#5.修改elasticsearch.yml文件
vim /usr/local/develop/elasticsearch/elasticsearch-7.4.0/config/elasticsearch.yml

======================== Elasticsearch Configuration =========================

cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: [“node-1”]
#cluster.name:配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称
#node.name:节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
#network.host:设置为0.0.0.0允许外网访问
#http.port:Elasticsearch的http访问端口
#cluster.initial_master_nodes:初始化新的集群时需要此配置来选举master

#ES默认不开启跨域访问,需要添加以下配置:
#配置
#开启cors跨域访问支持,默认为false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: “*”

#6.修改配置文件

切换到root用户

su root
#6.1. =最大可创建文件数太小=====
vim /etc/security/limits.conf

在文件末尾中增加下面内容

test soft nofile 65536
test hard nofile 65536

=====

vim /etc/security/limits.d/20-nproc.conf

在文件末尾中增加下面内容

test soft nofile 65536
test hard nofile 65536

  • hard nproc 4096

注:* 代表Linux所有用户名称

#6.2. =最大虚拟内存太小=====
vim /etc/sysctl.conf

在文件中增加下面内容

vm.max_map_count=655360

重新加载,输入下面命令:

sysctl -p

![在这里插入图片描述]()


(2)启动

su test # 切换到test用户启动
cd /usr/local/develop/elasticsearch/elasticsearch-7.4.0/bin
./elasticsearch #启动
#在访问elasticsearch前,请确保防火墙是关闭的

#安装ik分词器!!!
cd /usr/local/develop/elasticsearch/elasticsearch-7.4.0/plugins/
#创建ik目录并进入
mkdir ik-7.10.0
cd ik-7.10.0
#上传安装包并解压,然后删除安装包
unzip elasticsearch-analysis-ik-7.10.0.zip
rm elasticsearch-analysis-ik-7.10.0.zip
#修改配置文件
vim plugin-descriptor.properties

修改下面的内容

elasticsearch.version=你的es的版本(本文中是7.10.0)

![在这里插入图片描述]()


![在这里插入图片描述]()



> 
> 重点几个关注下即可:  
>  number" : “7.4.0” 表示elasticsearch版本  
>  lucene\_version" : “8.2.0” 表示lucene版本  
>  name : 默认启动的时候指定了 ES 实例名称  
>  cluster\_name : 默认名为 elasticsearch
> 
> 
> 


### 12.Elasticsearch-head


下载地址:https://github.com/mobz/elasticsearch-head/releases

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir elasticsearch-head
cd elasticsearch-head
#2.解压安装包
tar -xzvf elasticsearch-head-5.0.0.tar.gz -C /usr/local/develop/elasticsearch-head
#3.进入目录
cd elasticsearch-head-5.0.0
#在运行之前我们需要修改下elasticsearch.yml,因为ES默认不开启跨域访问,需要添加以下配置:
vim /usr/local/develop/elasticsearch/elasticsearch-7.4.0/config/elasticsearch.yml
#加入下面两个配置
#开启cors跨域访问支持,默认为false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: “*”
#4.安装
npm install
#5.运行服务
npm run start
#或者后台启动
nohup npm run-script start &
#6.访问head
浏览器输入ip:port:9100,如下图

![在这里插入图片描述]()


### 13.Kibana

#配合ElasticSearch使用
#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir kibana
cd kibana
#2.解压安装包
tar -xzvf kibana-7.4.0-linux-x86_64.tar.gz -C /usr/local/develop/kibana
#3.修改配置文件
vim /usr/local/develop/kibana/kibana-7.4.0-linux-x86_64/config/kibana.yml

在文件中修改下面内容

server.port: 5601
server.host: “0.0.0.0”
server.name: “kibana-itcast”
elasticsearch.hosts: [“http://127.0.0.1:9200”]
elasticsearch.requestTimeout: 99999
i18n.locale: “zh_CN”
#server.port:http访问端口
#server.host:ip地址,0.0.0.0表示可远程访问
#server.name:kibana服务名
#elasticsearch.hosts:elasticsearch地址
#elasticsearch.requestTimeout:请求elasticsearch超时时间,默认为30000,此处可根据情况设置
#i18n.locale: 汉化
#4、启动kibana
由于kibana不建议使用root用户启动,如果用root启动,需要加–allow-root参数

切换到kibana的bin目录

cd /usr/local/develop/kibana/kibana-7.4.0-linux-x86_64/bin

启动

./kibana --allow-root

![在这里插入图片描述]()


### 14.Node

cd /usr/local
mkdir develop
cd develop
mkdir nodejs
cd nodejs
#1.执行wget命令下载Node
wget https://nodejs.org/dist/v12.13.1/node-v12.13.1-linux-x64.tar.xz
#2.解压
tar -xvf node-v12.13.1-linux-x64.tar.xz -C /usr/local/develop/nodejs
#3.设置软连接
#解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接:
ln -s bin/npm /usr/local/develop/nodejs/node-v12.13.1-linux-x64/bin/
ln -s bin/node /usr/local/develop/nodejs/node-v12.13.1-linux-x64/bin/
#4.配置环境变量
vim /etc/profile
export NODE_HOME=/usr/local/develop/nodejs/node-v12.13.1-linux-x64
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7NODE_HOME/bin
#5.运行以下命令使profile文件生效
source /etc/profile
#6.查看版本信息
node -v

![在这里插入图片描述]()


### 15.RocketMQ


(1)安装

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir rocketmq
cd rocketmq
#2.解压安装包
unzip -d /usr/local/develop/rocketmq rocketmq-all-5.1.3-bin-release.zip
#如果没有安装 unzip,可以执行下面命令安装
yum install -y unzip zip
#3.进入rocketmq安装目录
cd rocketmq-all-5.1.3-bin-release
#4.创建存放数据的目录
mkdir -p store store/commitlog store/consumequeue
#5.进入conf目录
cd conf
#6.编辑broker.conf文件
vi broker.conf

在broker.conf文件中追加下面内容

listenPort=10911
namesrvAddr=localhost:9876
storePathRootDir=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release/store
storePathCommitLog=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release/store/commitlog
storePathConsumerQueue=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release/store/consumequeue
#7.修改内存大小(这步不是必须的,如果你的机器内存足够,可以跳过这步,笔者机器内存只有1g,因此需要修改内存大小)
#进入bin目录
cd /usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release/bin
#编辑runbroker.sh文件和runserver.sh文件,修改内存大小
#编辑runbroker.sh文件,将 8g 修改为 512m
vi runbroker.sh
#编辑runserver.sh文件,都修改为 512m
vi runserver.sh
#8.配置环境变量
vim /etc/profile
export ROCKETMQ_HOME=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release
export PATH=docker 安装elk 7 docker安装步骤_docker 安装elk 7ROCKETMQ_HOME/bin
export NAMESRV_ADDR=127.0.0.1:9876
#运行以下命令使profile文件生效
source /etc/profile
#9.开放防火墙 9876 和 10911 端口
firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --zone=public --add-port=10911/tcp --permanent
#更新防火墙规则(无需断开连接,动态添加规则)
firewall-cmd --reload
#查看防火墙所有开放的端口
firewall-cmd --list-port

![在这里插入图片描述]()


![在这里插入图片描述]()


(2)启动

#在 bin 目录下,执行下面命令
nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。&>后面指定隐藏的启动信息输出到指定文件,如果不指定默认输出到当前目录的nohup.out
#1.启动nameserver,下面命令任选其一
nohup sh mqnamesrv &> namesrv-out.txt
sh mqnamesrv
#2.启动 broker,下面命令任选其一
nohup sh mqbroker -n localhost:9876 -c …/conf/broker.conf &> broker-out.txt
./mqbroker -n localhost:9876 -c …/conf/broker.conf
#启动过程中会在/root/logs/rocketmqlogs/产生日志文件
tail -f ~/logs/rocketmqlogs/broker.log

#测试发送消息
#使⽤bin/tools.sh⼯具验证消息的发送,默认会发1000条消息
./tools.sh org.apache.rocketmq.example.quickstart.Producer
#使⽤bin/tools.sh⼯具验证消息的接收
./tools.sh org.apache.rocketmq.example.quickstart.Consumer

#关闭
sh mqshutdown broker
sh mqshutdown namesrv

![在这里插入图片描述]()


![在这里插入图片描述]()


### 16.Grunt

#安装grunt(运行在Node.js上面的任务管理器(task runner)),为了获得Grunt的更多产品特性,需要全局安装Grunt’s 命令行接口(CLI),使用npm进行安装,如下:
npm install -g grunt-cli
#查看grunt版本
grunt --version
输出grunt版本信息,表示安装成功。

![在这里插入图片描述]()


### 17.OpenResty

1.安装

首先你的Linux虚拟机必须联网

**1)安装开发库**

首先要安装OpenResty的依赖开发库,执行命令:
yum install -y pcre-devel openssl-devel gcc --skip-broken

**2)安装OpenResty仓库**

#你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum check-update 命令)。运行下面的命令就可以添加我们的仓库:
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
#如果提示说命令不存在,则运行:
yum install -y yum-utils
#然后再重复上面的命令

**3)安装OpenResty**

#然后就可以像下面这样安装软件包,比如 openresty
yum install -y openresty

**4)安装opm工具**

#opm是OpenResty的一个管理工具,可以帮助我们安装一个第三方的Lua模块。
#如果你想安装命令行工具 opm,那么可以像下面这样安装 openresty-opm 包:
yum install -y openresty-opm

**5)目录结构**

#默认情况下,OpenResty安装的目录是:/usr/local/openresty

看到里面的nginx目录了吗,OpenResty就是在Nginx基础上集成了一些Lua模块。

**6)配置nginx的环境变量**

#打开配置文件:
vi /etc/profile
#在最下面加入两行:
export NGINX_HOME=/usr/local/openresty/nginx
export PATH=docker 安装elk 7 docker安装步骤_docker_18PATH

#NGINX_HOME:后面是OpenResty安装目录下的nginx的目录
#然后让配置生效:
source /etc/profile

2.启动和运行

#OpenResty底层是基于Nginx的,查看OpenResty目录的nginx目录,结构与windows中安装的nginx基本一致:
#所以运行方式与nginx基本一致:

启动nginx

nginx

重新加载配置

nginx -s reload

停止

nginx -s stop
#nginx的默认配置文件注释太多,影响后续我们的编辑,这里将nginx.conf中的注释部分删除,保留有效部分。
修改/usr/local/openresty/nginx/conf/nginx.conf文件,内容如下:
#user nobody;
worker_processes 1;
error_log logs/error.log;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

server {
    listen       8081;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

}
#在Linux的控制台输入命令以启动nginx:
nginx
#然后访问页面:http://192.168.231.130:8081,注意ip地址替换为你自己的虚拟机IP

![在这里插入图片描述]()

3.备注

加载OpenResty的lua模块:

#lua 模块
lua\_package\_path "/usr/local/openresty/lualib/?.lua;;";
#c模块 
lua\_package\_cpath "/usr/local/openresty/lualib/?.so;;";

#common.lua

-- 封装函数,发送http请求,并解析响应
local function read\_http(path, params)
 local resp = ngx.location.capture(path,{
 method = ngx.HTTP\_GET,
 args = params,
 })
 if not resp then
 -- 记录错误信息,返回404
 ngx.log(ngx.ERR, "http not found, path: ", path , ", args: ", args)
 ngx.exit(404)
 end
 return resp.body
end
-- 将方法导出
local \_M = { 
 read\_http = read\_http
} 
return \_M

#释放Redis连接API:

-- 关闭redis连接的工具方法,其实是放入连接池
local function close\_redis(red)
 local pool\_max\_idle\_time = 10000 -- 连接的空闲时间,单位是毫秒
 local pool\_size = 100 --连接池大小
 local ok, err = red:set\_keepalive(pool\_max\_idle\_time, pool\_size)
 if not ok then
 ngx.log(ngx.ERR, "放入redis连接池失败: ", err)
 end
end

#读取Redis数据的API:

-- 查询redis的方法 ip和port是redis地址,key是查询的key
local function read\_redis(ip, port, key)
 -- 获取一个连接
 local ok, err = red:connect(ip, port)
 if not ok then
 ngx.log(ngx.ERR, "连接redis失败 : ", err)
 return nil
 end
 -- 查询redis
 local resp, err = red:get(key)
 -- 查询失败处理
 if not resp then
 ngx.log(ngx.ERR, "查询Redis失败: ", err, ", key = " , key)
 end
 --得到的数据为空处理
 if resp == ngx.null then
 resp = nil
 ngx.log(ngx.ERR, "查询Redis数据为空, key = ", key)
 end
 close\_redis(red)
 return resp
end

#开启共享词典:

# 共享字典,也就是本地缓存,名称叫做:item\_cache,大小150m
lua\_shared\_dict item\_cache 150m;
### 18.Python

#1.在Linux上安装Python需要先安装前置依赖程序。
yum install wget zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make zlib zlib-devel libffi-devel -y
#2.创建安装目录
mkdir /usr/local/develop/python
cd /usr/local/develop/python
#3.进入官方网址https://www.python.org/,点击最上面的Downloads按钮,再点击Linux/UNIX按钮,选择Python Source Releases下面的最新版,滑到最下面,在Files文件列表中选择Gzipped source tarball在上面右键复制链接地址
#执行下面的命令下载安装包,后面为刚刚复制的地址
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
#4.解压
tar -xvf Python-3.12.0.tgz
#5.配置
cd Python-3.12.0
./configure --prefix=/usr/local/develop/python/python3.12.0
#6.编译
make && make install
#7.执行下面的命令,会看到centos默认自带的python版本为2.7.5,我们要替换成最新版的
/usr/bin/python
#8.删除系统自带的老版本(python2)的软链接
rm -f /usr/bin/python
#9.创建软链接替换老版本
ln -s /usr/local/develop/python/python3.12.0/bin/python3.12 /usr/bin/python
#10.验证安装
python

#注意:
#创建软链接后,会破坏yum程序的正常使用(只能使用系统自带的python2)
#将这2个文件的第一行,从#!/usr/bin/python修改为#!/usr/bin/python2
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down

![在这里插入图片描述]()


### 19.MQTT


(1)安装软件

#1.输入以下指令
yum install gcc-c++
yum install cmake
yum install openssl-devel
#2.新建文件
新建个mqtt文件夹,下载mosquitto,下个不高不低的版本,并解压:
mkdir /usr/local/develop/mqtt
cd mqtt
wget http://mosquitto.org/files/source/mosquitto-1.4.10.tar.gz
tar -xzvf mosquitto-1.4.10.tar.gz
但这里还不能编译安装mosquitto
下面的三款扩展性软件,不安装也不影响mosquitto的使用:
#4、安装c-areas(支持异步DNS查找的库)
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar xvf c-ares-1.10.0.tar.gz
cd c-ares-1.10.0
./configure
make
sudo make install
#5、安装lib-uuid(支持为每个连接客户端生成唯一uuid)
yum install libuuid-devel
#6、安装libwebsockets(支持需使用websocket的应用)
wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz
tar zxvf v1.3-chrome37-firefox30.tar.gz
cd libwebsockets-1.3-chrome37-firefox30
mkdir build
cd build
cmake … -DLIB_SUFFIX=64
make install
#7、修改mosquitto的配置
我们修改一下mosquitto的配置:
cd mosquitto-1.4.10
vim config.mk
将里面的WITH_SRV:=yes和WITH_UUID:=yes都用#号注释掉
#8、安装mosquitto
接下来编译安装mosquitto:
make
sudo make install
注意: 如果在后续使用过程中找不到libmosquitto.so.1的话,在mqtt目录下输入以下指令修改一下libmosquitto.so的位置:
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
sudo ldconfig

(2)安全配置

#1、创建用户
sudo groupadd yuetong
sudo useradd -g yuetong yuetong
#2、程序配置
创建配置文件
mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf
#3、修改默认配置
#3.1.关闭匿名用户登录
打开mosquitto.conf文件( /etc/mosquitto/mosquitto.conf ),找到allow_anonymous节点,这个节点作用是,是否开启匿名用户登录。去掉前面的#,改为false。
#3.2.设置用户密码文件路径
找到password_file节点,这个节点是告诉服务器你要配置的用户将存放在哪里。打开此配置并指定pwfile.example文件路径(注意是绝对路径),在669行左右。
password_file /etc/mosquitto/pwfile 或者 /pwfile.example
#3.3.配置topic和用户
acl_file /etc/mosquitto/aclfile.example
#3.4.添加用户信息
终端输入,最后面的是用户名,之后自动弹出密码和确认密码,输入即可。(注意第二次创建用户时不用加 -c 如果加 -c 会把第一次创建的用户覆盖。)
mosquitto_passwd -c /etc/mosquitto/pwfile yuetong
然后进入到/etc/mosquitto/mosquitto.conf 将下面两个用户名和密码加上。

![在这里插入图片描述]()  
 ![在这里插入图片描述]()  
 ![在这里插入图片描述]()  
 (3)连接测试

#启动
需要切换到yuetong用户才能启动
su yuetong
cd /usr/local/sbin
./mosquitto -v -d #-d后台启动 -v代码调试模式(verbose)可以输出更多的信息

1.下载客户端软件安装包,点击安装包直接安装 MQTTX 2.界面一开始是英文,可以显示中文
3.主要填写名称,Client ID,服务器地址这三项,连接

![在这里插入图片描述]()  
 ![在这里插入图片描述]()


## Docker安装软件和启动步骤


### 1.MySQL

#1.在宿主机创建挂载容器的目录映射,创建目录用于存储数据信息
cd /usr/local/develop
mkdir docker-app
cd docker-app
mkdir mysql
cd mysql
#2.搜索mysql镜像
docker search mysql
#3.拉取mysql镜像
docker pull mysql:5.7
#4.创建容器,设置端口映射、目录映射
docker run -id
-p 3306:3306
–name=mysql
-v $PWD/conf:/etc/mysql/conf.d
-v $PWD/logs:/logs
-v $PWD/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root
mysql:5.7
#参数说明:

  • -p 3306:3306:将容器的 3306 端口映射到宿主机的 3306 端口。
  • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
  • **-e MYSQL_ROOT_PASSWORD=root:**初始化 root 用户的密码。
    #5.进入容器,操作mysql
    docker exec -it mysql /bin/bash
    mysql -u root -p
    输入密码
    #6.使用外部机器连接容器中的mysql
    #7.启动容器命令
    docker start mysql
    #8.停止容器
    docker stop mysql
![在这里插入图片描述]()


### 2.Tomcat

#1.在宿主机创建挂载容器的目录映射,创建目录用于存储数据信息
cd /usr/local/develop
mkdir docker-app
cd docker-app
mkdir tomcat
cd tomcat
#2.搜索镜像
docker search tomcat
#3.拉取镜像
docker pull tomcat
#4.先创建一个简单的容器
docker run -d -p 8080:8080 --name tomcat tomcat
#说明
#-d后台运行 -p指定端口号
#docker run -d -p 宿主机端口:容器端口 --name 容器名 镜像名

#5.解决访问tomcat404报错
#进入容器
docker exec -it tomcat /bin/bash
#以列表形式查看文件
ls -l
#查看webapps发现里面没东西,查看webapps.dist发现里面有东西(examples),因此删除webapps,将webapps.dist重命名为webapps
rmdir webapps
mv webapps.dist webapps
exit #退出容器

#6.复制容器内的默认配置文件到本地
docker cp tomcat:/usr/local/tomcat/conf /usr/local/develop/docker-app/tomcat
docker cp tomcat:/usr/local/tomcat/logs /usr/local/develop/docker-app/tomcat
docker cp tomcat:/usr/local/tomcat/webapps /usr/local/develop/docker-app/tomcat
#7.删除之前创建的容器
docker stop tomcat
docker rm tomcat
#8.创建最终的容器,并指定映射的配置文件
docker run -d -p 8080:8080 --name tomcat
-v /usr/local/develop/docker-app/tomcat/conf:/usr/local/tomcat/conf
-v /usr/local/develop/docker-app/tomcat/logs:/usr/local/tomcat/logs
-v /usr/local/develop/docker-app/tomcat/webapps:/usr/local/tomcat/webapps
tomcat
#9.启动容器命令
docker start tomcat
#10.停止容器
docker stop tomcat

![在这里插入图片描述]()


### 3.Redis

cd /usr/local/develop/docker-app
mkdir redis
cd redis
#1. 搜索redis镜像
docker search redis
#2. 拉取redis镜像
docker pull redis
#因为 docker 安装运行 redis容器,是没有配置文件的,需要自己手动创建一个 redis.conf 文件
mkdir conf data log
vim conf/redis.conf
[粘贴或者上传redis.conf配置文件]
进入后使用编辑模式进行修改以下部分
将bind 127.0.0.1 -::1 替换为bind 0.0.0.0
将 daemonize on 替换成 daemonize yes
#3. 创建容器,设置端口映射
docker run -id --name redis2 -p 6379:6379
-v /usr/local/develop/docker-app/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-v /usr/local/develop/docker-app/redis/data/:/data
-v /var/log/redis.log:/usr/local/develop/docker-app/redis/log/redis.log
redis
#4. 使用工具连接redis

![在这里插入图片描述]()


### 4.nginx

#1.在宿主机创建挂载容器的目录映射,创建目录用于存储数据信息
cd /usr/local/develop
mkdir docker-app
cd docker-app
mkdir nginx
cd nginx
#2.搜索nginx镜像
docker search nginx
#3…拉取nginx镜像
docker pull nginx
#4. 先创建一个简单的容器,设置端口映射
docker run -id --name nginx -p 80:80 nginx
#4.复制容器内的默认配置文件到本地
mkdir -p conf logs html
docker cp nginx:/etc/nginx/nginx.conf /usr/local/develop/docker-app/nginx/conf/nginx.conf
docker cp nginx:/var/log/nginx /usr/local/develop/docker-app/nginx/logs
docker cp nginx:/usr/share/nginx/html /usr/local/develop/docker-app/nginx/html
#5.删除之前创建的容器
docker stop nginx
docker rm nginx
#6.修改配置文件
vim conf/nginx.conf
#7.创建最终的容器,并指定映射的配置文件
docker run -id --name nginx -p 80:80
-v /usr/local/develop/docker-app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /usr/local/develop/docker-app/nginx/logs:/var/log/nginx
-v /usr/local/develop/docker-app/nginx/html:/usr/share/nginx/html
nginx

#另外:挂载容器内的文件映射到本地
docker run -v /usr/local/develop/docker-app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx
docker run -v /usr/local/develop/docker-app/nginx/logs:/var/log/nginx nginx
docker run -v /usr/local/develop/docker-app/nginx/html:/usr/share/nginx/html nginx

![在这里插入图片描述]()


### 5.RocketMQ

#1.在宿主机创建挂载容器的目录映射,创建目录用于存储数据信息
cd /usr/local/develop
mkdir docker-app
cd docker-app
mkdir rocketmq
cd rocketmq
#2.搜索rocketmq镜像
docker search rocketmq
#3…拉取rocketmq镜像
docker pull rocketmqinc/rocketmq
docker pull pangliang/rocketmq-console-ng
#4.创建namesrv需要挂载的目录
mkdir -p /usr/local/develop/docker-app/rocketmq/namesrv/logs /usr/local/develop/docker-app/rocketmq/namesrv/store
#5.启动namesrv容器
docker run -d -p 9876:9876 --name rmqnamesrv
-v /usr/local/develop/docker-app/rocketmq/namesrv/logs:/root/logs
-v /usr/local/develop/docker-app/rocketmq/namesrv/store:/root/store
rocketmqinc/rocketmq:latest
sh mqnamesrv
#6.创建broker容器需要挂载的目录
mkdir -p /usr/local/develop/docker-app/rocketmq/broker/logs
/usr/local/develop/docker-app/rocketmq/broker/store
/usr/local/develop/docker-app/rocketmq/conf
#7. 创建broker.conf文件
touch /usr/local/develop/docker-app/rocketmq/conf/broker.conf
cd conf
vim broker.conf
#添加下面的内容
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 192.168.231.130 #这里需要根据自己服务器IP替换
#8.启动broker容器
docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker --link rmqnamesrv:namesrv
-e “NAMESRV_ADDR=namesrv:9876”
-v /usr/local/develop/docker-app/rocketmq/broker/logs:/root/logs
-v /usr/local/develop/docker-app/rocketmq/broker/store:/root/store
-v /usr/local/develop/docker-app/rocketmq/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf
rocketmqinc/rocketmq:latest
sh mqbroker -n namesrv:9876
#9.创建RocketMQ-console可视化工具
docker run -d
–name rmqadmin
-e “JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.231.130:9876
-Dcom.rocketmq.sendMessageWithVIPChannel=false”
-p 8080:8080
pangliang/rocketmq-console-ng
#10. 查看启动状态
docker ps -a
#11.浏览器预览

![在这里插入图片描述]()


### 6.Kafka和Zookeeper

#1.首先安装zookeeper
docker pull wurstmeister/zookeeper
#2.安装kafka
docker pull wurstmeister/kafka
#3.启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -e TZ=“Asia/Shanghai” wurstmeister/zookeeper
#4.启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.231.130:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.231.130:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e TZ=“Asia/Shanghai” wurstmeister/kafka
#5.进入kafka容器
docker exec -it kafka /bin/bash
#6.进入kafka的bin目录下
cd /opt/kafka_2.13-2.8.1/bin
#7.创建一个新主题(test-kafka)来存储事件
./kafka-topics.sh --create --topic test-kafka --bootstrap-server localhost:9092
#8.测试消费消息:
./kafka-console-consumer.sh --topic test-kafka --from-beginning --bootstrap-server localhost:9092
#9.测试生产消息:
./kafka-console-producer.sh --topic test-kafka --bootstrap-server localhost:9092

### 7.ElasticSearch

#1.安装
docker pull elasticsearch:8.2.0
#2.启动
docker run -it elasticsearch:8.2.0 /bin/bash
#先简单启动 看一下我们要挂载一些什么样的目录,这个不是我们最终的启动命令。通过ls和pwd命令我们大概知道了es的关键目录大概是以下三个。
#存放配置相关的:/usr/share/elasticsearch/config
#存放数据相关的:/usr/share/elasticsearch/data
#存放插件相关的:/usr/share/elasticsearch/plugins
#3.退出容器
exit 或者 ctrl+c
#4.最终构建容器命令
docker run
–name elasticsearch
–privileged=true
-p 9200:9200
-p 9300:9300
-v /usr/local/develop/docker-app/elasticsearch/config:/usr/share/elasticsearch/config
-v /usr/local/develop/docker-app/elasticsearch/data:/usr/share/elasticsearch/data
-v /usr/local/develop/docker-app/elasticsearch/plugins:/usr/share/elasticsearch/plugins
-e ES_JAVA_OPTS=“-Xms512m -Xmx512m”
-e “discovery.type=single-node”
-d elasticsearch:8.2.0

#启动之后如果发现没成功启动容器,通过docker logs es看到以下错误,那么就是咋们自己创建的挂载目录可能权限不够高。
Exception in thread “main” java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options
#给三个挂载目录进行chmod 777
chmod 777 /usr/local/develop/docker-app/elasticsearch/config
chmod 777 /usr/local/develop/docker-app/elasticsearch/data
chmod 777 /usr/local/develop/docker-app/elasticsearch/plugins
#直接先启动一个简单的es容器
docker run -d --name es -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:8.2.0
#将容器里的config文件夹的东西拷贝到宿主机上
docker cp es:/usr/share/elasticsearch/config /usr/local/develop/docker-app/elasticsearch
#删除临时容器
docker stop es
docker rm -f es
#修改elasticsearch.yml文件,将true都改为false
vim /usr/local/develop/docker-app/elasticsearch/config/elasticsearch.yml
#重新启动elasticsearch
docker start elasticsearch


#添加新用户
#1.先进入容器
docker exec -it elasticsearch /bin/bash
#2.添加test用户
./bin/elasticsearch-users useradd test
#3.赋角色权限: 这一步要执行,不然无法访问
./bin/elasticsearch-users roles -a superuser test (超级管理员角色)
./bin/elasticsearch-users roles -a kibana_system test (kibana的用户角色)

#给自己创建的用户修改密码
./bin/elasticsearch-users passwd test

#生成超级管理员elastic的密码,随机的密码
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
#如果忘记密码,重置elastic的密码
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

#给elasticsearch设置用户名和密码,elastic默认为超级管理员
#1.编辑挂载的配置文件
cd /usr/local/develop/docker-app/elasticsearch/config
vim elasticsearch.yml
#添加如下内容
http.cors.enabled: true
http.cors.allow-origin: “*”
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
#2.先启动es
docker start elasticsearch
#3.进入es
docker exec -it elasticsearch /bin/bash