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

相关推荐
num_killer1 小时前
小白的Langchain学习
java·python·学习·langchain
期待のcode2 小时前
Java虚拟机的运行模式
java·开发语言·jvm
程序员老徐2 小时前
Tomcat源码分析三(Tomcat请求源码分析)
java·tomcat
a程序小傲2 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
仙俊红2 小时前
spring的IoC(控制反转)面试题
java·后端·spring
阿湯哥2 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
小楼v2 小时前
说说常见的限流算法及如何使用Redisson实现多机限流
java·后端·redisson·限流算法
与遨游于天地2 小时前
NIO的三个组件解决三个问题
java·后端·nio
czlczl200209253 小时前
Guava Cache 原理与实战
java·后端·spring
yangminlei3 小时前
Spring 事务探秘:核心机制与应用场景解析
java·spring boot