Docker builds an Elasticsearch cluster

  1. Pull the appropriate version of the image, you can go to DockerHub to view
    docker pull elasticsearch:6.8.10

  2. Prepare the required catalog
    mkdir config data1 data2 data3

Note: If ELK chooses the 6.X version, then readers need to enable 777 permissions for data1 data2 data3chmod 777 data*

  1. Prepare configuration file
  • 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. Modify the maximum thread limit, mine is windows+wsl2, other systems can refer to this blog
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
  1. Network preparation

docker network create --subnet=172.18.0.0/16 es_network

  1. Start the container
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

Successful visit
Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_44112790/article/details/110188228