docker搭建ES群集

15 篇文章 0 订阅
4 篇文章 0 订阅

本次实验在阿里云上操作 (注意复制粘贴之后会出现符号乱码之类的情况)
Centos 7.8操作系统

部署elasticsearch

拉去镜像:

docker pull elasticsearch:7.6.2

创建ES本地挂载目录:

mkdir	/docker/ES
mkdir 	/docker/ES/es1						//存放数据
mkdir 	/docker/ES/es2
mkdir 	/docker/ES/es3
mkdir 	/docker/ES/config					//配置文件
mkdir	/docker/ES/logs						//日志目录
mkdir 	/docker/ES/logs/es1
mkdir 	/docker/ES/logs/es2
mkdir 	/docker/ES/logs/es3

配置ES配置文件:

cd /docker/ES/config/
touch es1.yml es2.yml es3.yml

vim es1.yml

cluster.name: es-es-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 172.16.88.20 
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.minimum_master_nodes: 2
discovery.seed_hosts:["172.16.88.20:9300","172.16.88.20:9300","172.16.88.20:9300"]
cluster.initial_master_nodes: ["es-node1","es-node2","es-node3"]

vim es2.yml

cluster.name: es-es-cluster
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: 172.16.88.20 
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.minimum_master_nodes: 2
discovery.seed_hosts:["172.16.88.20:9300","172.16.88.20:9300","172.16.88.20:9300"]
cluster.initial_master_nodes: ["es-node1","es-node2","es-node3"]

vim es3.yml

cluster.name: es-es-cluster
node.name: es-node3
network.bind_host: 0.0.0.0
network.publish_host: 172.16.88.20 
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.minimum_master_nodes: 2
discovery.seed_hosts:["172.16.88.20:9300","172.16.88.20:9300","172.16.88.20:9300"]
cluster.initial_master_nodes: ["es-node1","es-node2","es-node3"]

启动容器:三个 注意端口

sysctl -w vm.max_map_count=262144 //设置vm内存

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /docker/ES/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/ES/es1:/usr/share/elasticsearch/data -v /docker/ES/logs/es1:/usr/share/elasticsearch/logs --name ES01 elasticsearch:7.6.2

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9200 -p 9301:9300 -v /docker/ES/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/ES/es2:/usr/share/elasticsearch/data -v /docker/ES/logs/es2:/usr/share/elasticsearch/logs --name ES02 elasticsearch:7.6.2

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9200 -p 9302:9300 -v /docker/ES/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/ES/es3:/usr/share/elasticsearch/data -v /docker/ES/logs/es3:/usr/share/elasticsearch/logs --name ES03 elasticsearch:7.6.2

在这里插入图片描述

查看容器的IP地址:

docker inspect ES01 | grep IPAdd
docker inspect ES02 | grep IPAdd
docker inspect ES03 | grep IPAdd

修改配置文件:

vim es1.yml

cluster.name: es-es-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 172.17.0.2		//容器IP地址
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.minimum_master_nodes: 2
discovery.seed_hosts:["172.17.0.2:9300","172.17.0.3:9300","172.17.0.4:9300"]		//各个容器IP地址
cluster.initial_master_nodes: ["es-node1","es-node2","es-node3"]

vim es2.yml

cluster.name: es-es-cluster
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: 172.17.0.4					//容器IP地址
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.minimum_master_nodes: 2
discovery.seed_hosts:["172.17.0.2:9300","172.17.0.3:9300","172.17.0.4:9300"]		//各个容器IP地址
cluster.initial_master_nodes: ["es-node1","es-node2","es-node3"]

vim es3.yml

cluster.name: es-es-cluster
node.name: es-node3
network.bind_host: 0.0.0.0
network.publish_host: 172.17.0.3		//容器IP地址
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.minimum_master_nodes: 2
discovery.seed_hosts:["172.17.0.2:9300","172.17.0.3:9300","172.17.0.4:9300"]		//各个容器IP地址
cluster.initial_master_nodes: ["es-node1","es-node2","es-node3"]

重启ES:

docker restart ES01
docker restart ES02
docker restart ES03

查看是否正常
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
curl http://本机IP地址:9200/_cat/health?pretty=true 查看群集
curl http://本机IP地址:9200/_cluster/state?pretty 俩都行
在这里插入图片描述

安装elasticsearch-head

docker pull mobz/elasticsearch-head:5
docker run -d -p 9100:9100 --name es-manager mobz/elasticsearch-head:5
浏览器访问http://本机ip:9100/,如下图表示

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值