docker搭建ES 8.14 集群

参考:【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镜像

|------------------------------------------------------------------|---|
| docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.1 | |

有异常 到官网上找地址

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 值来正常运行,因为它需要创建大量的内存映射文件来处理索引和搜索操作。

解决方法:

  1. 增加 vm.max_map_count 的值 : 你需要将 vm.max_map_count 设置为至少 262144。你可以通过编辑 /etc/sysctl.conf 文件来永久更改此设置,或者直接在终端中临时更改它。

vim /etc/sysctl.conf

vm.max_map_count = 2000000

sudo sysctl -p

  1. docker rm 7472d0727e06 如果你使用的是 Docker 容器,你可能需要停止并重新启动 Docker 容器。
  2. 重启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客户端

http://192.168.1.248:5601/

安装插件

插件下载地址:

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个节点都已安装

相关推荐
Fireworkitte1 小时前
Apache POI 详解 - Java 操作 Excel/Word/PPT
java·apache·excel
weixin-a153003083161 小时前
【playwright篇】教程(十七)[html元素知识]
java·前端·html
DCTANT1 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
Touper.1 小时前
SpringBoot -- 自动配置原理
java·spring boot·后端
黄雪超2 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm
ThetaarSofVenice2 小时前
对象的finalization机制Test
java·开发语言·jvm
望获linux3 小时前
【实时Linux实战系列】CPU 隔离与屏蔽技术
java·linux·运维·服务器·操作系统·开源软件·嵌入式软件
JosieBook3 小时前
【Java编程动手学】使用IDEA创建第一个HelloJava程序
java·开发语言·intellij-idea
Thomas_YXQ3 小时前
Unity3D DOTS场景流式加载技术
java·开发语言·unity
summer夏1233 小时前
2025.07 做什么
java·android studio