安装Docker
- 查看内核版本 <Docker要求 CentOS系统的内核版本高于3.10>
uname -r
- 卸载安装过的docker旧版本的包
查询安装过的包
yum list installed | grep docker
删除安装的软件包
yum -y remove 包名
更新yum
yum update
安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(1) 官方:https://download.docker.com/linux/centos/docker-ce.repo
(2) 阿里云:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(3) 清华大学:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo - 查看仓库中docker版本
yum list docker-ce --showduplicates | sort -r
- 安装docker
yum install docker-ce
- 启动Docker,设置开机启动,停止Docker
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl stop docker
- 查看版本
docker version
安装ElasticSearch
- 下载镜像
docker pull elasticsearch:8.4.1
- 启动容器
下载对应版本的ik分词器放到plugins路径下~
docker run -d -p 9200:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /home/elasticsearch/data:/usr/share/elasticsearch/data -v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins --name elasticsearch elasticsearch:8.4.1
说明:
- -d 后台运行
- -p 9200:9200 指定端口映射
- -e “discovery.type=single-node” 指定单节点运行
- -e ES_JAVA_OPTS=“-Xms512m -Xmx512m” 指定参数运行
Xms512m : 初始使用内存,-Xmx512m : 最大使用内存 - -v 本地目录:容器内目录 指定文件挂载目录
- -name elasticsearch 指定运行时容器名称
- elasticsearch:8.4.1 镜像名称及标签
- 修改默认用户elastic的密码
- 进入容器
docker exec -it 容器id /bin/bash
- 执行如下命令修改自定义密码
bin/elasticsearch-reset-password --username elastic -i
- 进入容器
- 访问elasticsearch
8.4版本默认xpack.security.enabled: true,开启安全访问,以https的方式访问,访问地址:https://localhost:9200
点击显示详细信息继续访问,弹出如下页面
输入账号密码登录即可!
看到以上的结果就表示elasticsearch安装成功啦!
安装Kibana
- 下载镜像
docker pull kibana:8.4.1
- 启动容器
docker run --name kibana -e ELASTICSEARCH_URL=http://127.0.0.1:9200 -p 5601:5601 -d kibana:8.4.1
说明:
-e ELASTICSEARCH_URL=http://127.0.0.1:9200
要连接的es的地址-p 5601:5601
指定映射端口
浏览器访问http://localhost:5601如果出现提示说服务正在启动之类的稍等片刻,如果长时间如此,可能是出现了问题,进入容器查看其配置文件。
cat /usr/share/kibana/config/kibana.yml
注意(如果为上述失败的话):
server.host: 0.0.0.0 应该和elasticsearch.yml中的http.host: 0.0.0.0指向同一个ip
elasticsearch.hosts: [‘https://172.17.0.2:9200’] 这里配置正确的ip应是es的内网ip+端口
如何查看es的内网ip?
进入es容器执行:
cat /etc/hosts
会出现如下信息:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 feed0c777ff4
最后一行的ip即是es内网ip,后面那一串是容器的id。
最好不要更改,直接删除修改为正确的ip后再次运行容器。
- 获取Kibana令牌
进入es容器
docker exec -it 容器id /bin/bash
执行命令
bin/elasticsearch-create-enrollment-token --scope kibana
将获取到的token填写到下边的页面
接下来会进入到这个页面
执行命令
docker exec -it kibana bin/kibana-verification-code
填写验证码后就进入到登录页面啦~
输入账号密码登录后就可以在控制台操作es啦~
4. 改变Kibana语言为中文
kibana内置了i18n国际化组件,只需在kibana.yml中加上一句配置即可!
i18n.locale: "zh-CN"
- 挂载数据卷
直接修改本地配置文件 - 未挂载数据卷
将容器的配置文件拷贝至本地
docker cp 容器id:/usr/share/kibana/config/kibana.yml /home/kibana/config/kibana.yml
修改拷贝出的文件
再将修改后的本地文件拷贝至容器
docker cp /home/kibana/config/kibana.yml 容器id:/usr/share/kibana/config/kibana.yml
- 挂载数据卷