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

相关推荐
野犬寒鸦28 分钟前
从零起步学习并发编程 || 第四章:synchronized底层源码级讲解及项目实战应用案例
java·服务器·开发语言·jvm·后端·学习·面试
!停29 分钟前
数据结构二叉树——堆
java·数据结构·算法
virus59458 小时前
悟空CRM mybatis-3.5.3-mapper.dtd错误解决方案
java·开发语言·mybatis
计算机小手9 小时前
一个带Web UI管理的轻量级高性能OpenAI模型代理网关,支持Docker快速部署
经验分享·docker·语言模型·开源软件
没差c10 小时前
springboot集成flyway
java·spring boot·后端
时艰.10 小时前
Java 并发编程之 CAS 与 Atomic 原子操作类
java·开发语言
坚持学习前端日记10 小时前
常见docker指令
docker·容器·eureka
编程彩机10 小时前
互联网大厂Java面试:从Java SE到大数据场景的技术深度解析
java·大数据·spring boot·面试·spark·java se·互联网大厂
笨蛋不要掉眼泪10 小时前
Spring Boot集成LangChain4j:与大模型对话的极速入门
java·人工智能·后端·spring·langchain
Yvonne爱编码11 小时前
JAVA数据结构 DAY3-List接口
java·开发语言·windows·python