Docker搭建Elasticsearch集群

  1. 拉取合适版本的镜像,可以去DockerHub查看
    docker pull elasticsearch:6.8.10

  2. 准备需要的目录
    mkdir config data1 data2 data3

注:如果ELK选的6.X版本的,那么读者需将data1 data2 data3 开启777权限chmod 777 data*

  1. 准备配置文件
  • vi config/es1.yml
cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 172.18.0.2
# network.host: 172.18.0.2
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true  
discovery.zen.ping.unicast.hosts: ["ip:9300","ip:9301","ip:9302"]
discovery.zen.minimum_master_nodes: 2

  • vi config/es2.yml
cluster.name: elasticsearch-cluster
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: 172.18.0.3
# network.host: 172.18.0.3
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true  
discovery.zen.ping.unicast.hosts: ["ip:9300","ip:9301","ip:9302"]
discovery.zen.minimum_master_nodes: 2

  • vi config/es3.yml
cluster.name: elasticsearch-cluster
node.name: es-node3
network.bind_host: 0.0.0.0
network.publish_host: 172.18.0.4
# network.host: 172.18.0.4
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true  
discovery.zen.ping.unicast.hosts: ["ip:9300","ip:9301","ip:9302"]
discovery.zen.minimum_master_nodes: 2

  1. 修改最大线程限制,我的是windows+wsl2,其他系统可以查阅这篇博客
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
  1. 网络准备

docker network create --subnet=172.18.0.0/16 es_network

  1. 启动容器
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d \
-p 9200:9200 -p 9300:9300 \
-v E:/MyWork/MyDevelopmentTools/elasticsearch-6.8.10/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v E:/MyWork/MyDevelopmentTools/elasticsearch-6.8.10/data1:/usr/share/elasticsearch/data \
--name ES01 \
--network=es_network \
--ip 172.18.0.2 \
elasticsearch:6.8.10
 
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d \
-p 9201:9201 -p 9301:9301 \
-v E:/MyWork/MyDevelopmentTools/elasticsearch-6.8.10/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v E:/MyWork/MyDevelopmentTools/elasticsearch-6.8.10/data2:/usr/share/elasticsearch/data \
--name ES02 \
--network=es_network \
--ip 172.18.0.3 \
elasticsearch:6.8.10

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d \
-p 9202:9202 -p 9303:9303 \
-v E:/MyWork/MyDevelopmentTools/elasticsearch-6.8.10/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v E:/MyWork/MyDevelopmentTools/elasticsearch-6.8.10/data3:/usr/share/elasticsearch/data \
--name ES03 \
--network=es_network \
--ip 172.18.0.4 \
elasticsearch:6.8.10

成功访问
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44112790/article/details/110188228