参考:【docker搭建es8集群+kibana】_docker 安装生产级 es 8.14 集群-CSDN博客
1、之前已搭建一台单机版的dockerES集群 参见 Elasticsearch docker 安装_docker 安装es8.14.3-CSDN博客
2、现在需要重新搭建为docker ES集群 准备新搭建3个点
一、准备工作
提前开放三台服务器的9200、9300端口,需要配置kibana的服务器额外开放5601端口。只需要配置一个kibana即可连接es集群。
创建es网卡
二、安装elasticsearch
查看磁盘的大小 ,磁盘太小会限制创建索引
1、docker拉取es镜像
|
有异常 到官网上找地址
elasticsearch | Docker @ Elastic
下载比较慢 得等待
3.创建挂载目录
/home/dockerinstall/es
mkdir data plugins
# 添加文件夹权限
chmod 777 data
chmod 777 plugins
3个节点都要操作
4.启动es集群
4.1 配置文件挂载启动
编写elasticsearch.yml
mkdir config
# 进入config文件加
cd config
# 编写elasticsearch.yml
vim elasticsearch.yml
注意每台服务器需要修改的参数
node.name —— es集群节点名称,每台服务器不同
network.publist_host —— 服务器ip
# 集群名称
cluster.name: es-cluster
# 节点名称
node.name: node-1
# 网络地址
network.host: 0.0.0.0
network.publish_host: 192.168.1.248
# 集群节点配置
discovery.seed_hosts: ["192.168.1.248:9300","192.168.1.247:9300","192.168.1.244:9300"]
# 主节点候选
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#
# 客户端端口
http.port: 9200
# 集群节点端口
transport.port: 9300
#
# 是否开启安全认证
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
#
# 是否开启ssl
xpack.security.http.ssl:
enabled: false
# #keystore.path: /usr/share/elasticsearch/config/certs/http.p12
# #truststore.path: /usr/share/elasticsearch/config/certs/http.p12
#
# 是否开启访问安全认证
xpack.security.transport.ssl:
enabled: false
# #verification_mode: certificate
# #keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
# #truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
#
# # 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
http.host: 0.0.0.0
scp elasticsearch.yml root@192.168.1.244:/home/dockerinstall/es/config/
注意每个节点都要修改下
node.name —— es集群节点名称,每台服务器不同
network.publist_host —— 服务器ip
启动命令:
docker run -d --privileged=true --name es --network es-net -p 9200:9200 -p 9300:9300 -v /home/dockerinstall/es/data:/usr/share/elasticsearch/data -v /home/dockerinstall/es/plugins:/usr/share/elasticsearch/plugins -v /home/dockerinstall/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:8.14.1
三个节点都要启动
发现异常
具体是关于 vm.max_map_count
参数的值太低。vm.max_map_count
是一个 Linux 内核参数,它控制着一个进程可以拥有的最大内存映射区域数。Elasticsearch 需要较高的 vm.max_map_count
值来正常运行,因为它需要创建大量的内存映射文件来处理索引和搜索操作。
解决方法:
- 增加
vm.max_map_count
的值: 你需要将vm.max_map_count
设置为至少 262144。你可以通过编辑/etc/sysctl.conf
文件来永久更改此设置,或者直接在终端中临时更改它。
vim /etc/sysctl.conf
vm.max_map_count = 2000000
sudo sysctl -p
- docker rm 7472d0727e06 如果你使用的是 Docker 容器,你可能需要停止并重新启动 Docker 容器。
- 重启docker es的命令同上面
三 安装kibana
docker pull docker.elastic.co/kibana/kibana:8.14.1
mkdir data config
chmod 777 data/
vim kibana.yml
server.host: "0.0.0.0"
# 连接es集群配置多个地址,单机一个地址
elasticsearch.hosts: ["http://192.168.1.248:9200","http://192.168.1.247:9200","http://192.168.1.244:9200"]
# 设置kibana中文
i18n.locale: "zh-CN"
启动 kibana
docker run -d --name kibana --network es-net -p 5601:5601 -v /home/dockerinstall/kibana/data:/usr/share/kibana/data -v /home/dockerinstall/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml docker.elastic.co/kibana/kibana:8.14.1
四、查看es集群节点
1.查看es信息
2.访问kibana客户端
安装插件
插件下载地址:
Index of: analysis-ik/stable/ (infinilabs.com)
sudo yum install lrzsz
上传到docker容器的相关目录中
下载插件:
https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.14.1.zip
解压到plugins目录
unzip elasticsearch-analysis-ik-8.14.1.zip -d analysis-ik/
rm -rf elasticsearch-analysis-ik-8.14.1.zip 解压后需要删除
重启:docker restart 6a6dbee586f4
登录
docker exec -it 062ee8617b4c bash
./bin/elasticsearch-plugin list
插件安装成功
查看:
192.168.1.248:9200/_cat/plugins?v=true
3个节点都已安装