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

相关推荐

  1. Docker有分词器的ES

    2024-07-23 08:42:04       56 阅读
  2. Dockerkafka

    2024-07-23 08:42:04       51 阅读
  3. 简单docker swarm

    2024-07-23 08:42:04       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 08:42:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 08:42:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 08:42:04       82 阅读
  4. Python语言-面向对象

    2024-07-23 08:42:04       91 阅读

热门阅读

  1. Torus结构代码实现

    2024-07-23 08:42:04       23 阅读
  2. linux命令-touch-修改文件时间

    2024-07-23 08:42:04       24 阅读
  3. Oracle(17)什么是物化视图(Materialized View)?

    2024-07-23 08:42:04       22 阅读
  4. Electron 和 React 开发桌面应用程序

    2024-07-23 08:42:04       24 阅读
  5. (20240721)无机非金属材料工学(3)混凝土

    2024-07-23 08:42:04       23 阅读
  6. golang长连接的误用

    2024-07-23 08:42:04       22 阅读
  7. ubuntu开启 远程登录 允许root远程登录

    2024-07-23 08:42:04       23 阅读
  8. P1725 琪露诺 题解

    2024-07-23 08:42:04       27 阅读
  9. Qt 实战(7)元对象系统 | 7.6、Q_DECLARE_METATYPE详解

    2024-07-23 08:42:04       26 阅读
  10. php 根据位置的经纬度计算距离

    2024-07-23 08:42:04       25 阅读