栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker部署ES集群

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker部署ES集群

  • 离线部署es

1.找到一台联网的机器,把对应版本的镜像拉取下来

sudo docker pull elasticsearch:7.10.1

2.将镜像保存为本地文件

sudo docker save elasticsearch:7.10.1 -o /data/appadmjjkj/images/es-docker-7.10.1.tar

或 sudo docker save IMAGE ID -o /data/appadmjjkj/images/es-docker-7.10.1.tar

3.将保存号的tar镜像文件上传到要部署的机器上,安装镜像

sudo docker load -i es-docker-7.10.1.tar

4.创建挂载目录[data:存放索引数据,plugins:存放es插件]

sudo mkdir -p  /data/appadmjjkj/elasticsearch

sudo mkdir -p  /data/appadmjjkj/elasticsearch/config/data1

sudo mkdir -p  /data/appadmjjkj/elasticsearch/config/data2

sudo mkdir -p  /data/appadmjjkj/elasticsearch/config/data3

sudo mkdir -p  /data/appadmjjkj/elasticsearch/config/plugins1

sudo mkdir -p  /data/appadmjjkj/elasticsearch/config/plugins2

sudo mkdir -p  /data/appadmjjkj/elasticsearch/config/plugins3

5.设置执行权限

sudo chmod 777 /data/appadmjjkj/elasticsearch/config/data1

sudo chmod 777 /data/appadmjjkj/elasticsearch/config/data2

sudo chmod 777 /data/appadmjjkj/elasticsearch/config/data3

  1. 更改系统配置​

sudo vi /etc/sysctl.conf

->>

vm.max_map_count=262145

配置改完刷新

sysctl -p

7.data1/data2/data3 分别创建es.yml [network.publish_host:填写服务器ip]

 sudo vi /data/appadmjjkj/elasticsearch/config/es1.yml

  ->>

cluster.name: elasticsearch-cluster   #集群名(三个节点一致)

cluster.initial_master_nodes : es-node1 # 默认的主节点

node.name: es-node1   #节点名(每台节点不同)

network.bind_host: 0.0.0.0

network.publish_host: 10.30.4.49  #对外地址

http.port: 9201 #对外端口(每台机器装一个ES则不用改)

transport.tcp.port: 9301 #ES内部通信端口(每台机器装一个ES则不用改)

discovery.zen.minimum_master_nodes: 2 #主节点数/2+1,防止脑裂

http.max_content_length: 2000mb

http.max_header_size: 1024k

http.max_initial_line_length: 1024k

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: true

node.data: true  

discovery.zen.ping.unicast.hosts:  ["10.30.4.49:9301","10.30.4.49:9302","10.30.4.49:9303"]

#es jvm大小,预留等值的系统内存(可用内存)作为es缓存。以32g系统内存为例,ES jvm设为16g。

-Xms16g

-Xmx16g

#PS ES单节点最大31g

       

sudo vi /data/appadmjjkj/elasticsearch/config/es2.yml

    ->>

cluster.name: elasticsearch-cluster

node.name: es-node2

network.bind_host: 0.0.0.0

network.publish_host: 10.30.4.49

http.port: 9202

transport.tcp.port: 9302

discovery.zen.minimum_master_nodes: 2 #主节点数/2+1,防止脑裂

http.max_content_length: 2000mb

http.max_header_size: 1024k

http.max_initial_line_length: 1024k

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: false#主节点

node.data: true  

discovery.zen.ping.unicast.hosts:  ["10.30.4.49:9301","10.30.4.49:9302","10.30.4.49:9303"]

#es jvm大小,预留等值的系统内存(可用内存)作为es缓存。以32g系统内存为例,ES jvm设为16g。

-Xms16g

-Xmx16g

#PS ES单节点最大31g

   

sudo vi /data/appadmjjkj/elasticsearch/config/es3.yml

->>

cluster.name: elasticsearch-cluster

node.name: es-node3

network.bind_host: 0.0.0.0

network.publish_host: 10.30.4.49

http.port: 9203

transport.tcp.port: 9303

discovery.zen.minimum_master_nodes: 2 #主节点数/2+1,防止脑裂

indices.query.bool.max_clause_count: 10000000

http.max_content_length: 2000mb

http.max_header_size: 1024k

http.max_initial_line_length: 1024k

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: false#主节点

node.data: true  

discovery.zen.ping.unicast.hosts:  ["10.30.4.49:9301","10.30.4.49:9302","10.30.4.49:9303"]

#es jvm大小,预留等值的系统内存(可用内存)作为es缓存。以32g系统内存为例,ES jvm设为16g。

-Xms16g

-Xmx16g

#PS ES单节点最大31g

  1. 启动服务

# 服务1

sudo docker run -itd -e ES_JAVA_OPTS="-Xms2048m -Xmx2048m"

-p 9201:9201 -p 9301:9301

-e ES_MIN_MEM=128m

-e ES_MAX_MEM=4096m

-v /data/appadmjjkj/elasticsearch/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml

-v /data/appadmjjkj/elasticsearch/config/data1/:/usr/share/elasticsearch/data/

-v /data/appadmjjkj/elasticsearch/config/plugins1/:/usr/share/elasticsearch/plugins

--restart=always

--name ES01

elasticsearch:7.10.1

# 服务2

sudo docker run -it -e ES_JAVA_OPTS="-Xms2048m -Xmx2048m"

-p 9202:9202 -p 9302:9302

-e ES_MIN_MEM=128m

-e ES_MAX_MEM=4096m

-v /data/appadmjjkj/elasticsearch/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml

-v /data/appadmjjkj/elasticsearch/config/data2/:/usr/share/elasticsearch/data/

-v /data/appadmjjkj/elasticsearch/config/plugins2/:/usr/share/elasticsearch/plugins

--restart=always

--name ES02

elasticsearch:7.10.1

# 服务3

sudo docker run -itd -e ES_JAVA_OPTS="-Xms2048m -Xmx2048m"

-p 9203:9203 -p 9303:9303

-e ES_MIN_MEM=128m

-e ES_MAX_MEM=4096m

-v /data/appadmjjkj/elasticsearch/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml

-v /data/appadmjjkj/elasticsearch/config/data3/:/usr/share/elasticsearch/data/

-v /data/appadmjjkj/elasticsearch/config/plugins1/:/usr/share/elasticsearch/plugins 

--restart=always

--name ES03

elasticsearch:7.10.1

  1. 验证是否正常启动

sudo docker ps -a 查看容器状态

确认集群配置

curl http://127.0.0.1:9201/_cat/nodes?pretty

 

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/965029.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号