Create an elasticsearch distributed cluster using docker

problem description

docker has 3 elasticsearch nodes, but cannot become a cluster!
elasticsearch configuration Code:
Machine 10.1.1.54

-sharp 
cluster.name: "docker-cluster"
-sharp 
node.name: node-54
-sharp 
node.master: true
-sharp 
node.data: true
-sharp host
network.host: 0.0.0.0
-sharp 
http.port: 9200
-sharp 
transport.tcp.port: 9300
-sharp ip9300
discovery.zen.ping.unicast.hosts: ["10.1.1.54:9300", "10.1.1.55:9300", "10.1.1.56:9300"]
-sharp (/2 + 1)
discovery.zen.minimum_master_nodes: 1
-sharp 
http.cors.enabled: true
http.cors.allow-origin: "*"
-sharp x-pack
xpack.security.enabled: false

10.1.1.55

-sharp 
cluster.name: "docker-cluster"
-sharp 
node.name: node-55
-sharp 
node.master: true
-sharp 
node.data: false
-sharp host
network.host: 0.0.0.0
-sharp 
http.port: 9200
-sharp 
transport.tcp.port: 9300
-sharp ip9300
discovery.zen.ping.unicast.hosts: ["10.1.1.54:9300", "10.1.1.55:9300", "10.1.1.56:9300"]
-sharp (/2 + 1)
discovery.zen.minimum_master_nodes: 1
-sharp 
http.cors.enabled: true
http.cors.allow-origin: "*"
-sharp x-pack
xpack.security.enabled: false

10.1.1.56 except for node.name, the configuration of 55 is the same

error message actually seen

clipboard.png

[2018-07-21T06:32:42,963][INFO ][o.e.b.BootstrapChecks    ] [node-55] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2018-07-21T06:32:46,025][WARN ][o.e.d.z.ZenDiscovery     ] [node-55] failed to connect to master [{node-54}{Az7T-sseQ8e1SUdyxmSjjA}{D5UwfKFxRNiG3hd8qZCIqw}{172.17.0.2}{172.17.0.2:9300}{ml.max_open_jobs=10, ml.enabled=true}], retrying...
org.elasticsearch.transport.ConnectTransportException: [node-54][172.17.0.2:9300] handshake failed. unexpected remote node {node-55}{Az7T-sseQ8e1SUdyxmSjjA}{Pzw6-AwpRKmL0G9qL5sqOQ}{172.17.0.2}{172.17.0.2:9300}{ml.max_open_jobs=10, ml.enabled=true}
    at org.elasticsearch.transport.TransportService.lambda$connectToNode$3(TransportService.java:338) ~[elasticsearch-6.0.1.jar:6.0.1]
    at org.elasticsearch.transport.TcpTransport.connectToNode(TcpTransport.java:497) ~[elasticsearch-6.0.1.jar:6.0.1]
    at org.elasticsearch.transport.TransportService.connectToNode(TransportService.java:334) ~[elasticsearch-6.0.1.jar:6.0.1]
    at org.elasticsearch.transport.TransportService.connectToNode(TransportService.java:321) ~[elasticsearch-6.0.1.jar:6.0.1]
    at org.elasticsearch.discovery.zen.ZenDiscovery.joinElectedMaster(ZenDiscovery.java:516) [elasticsearch-6.0.1.jar:6.0.1]
    at org.elasticsearch.discovery.zen.ZenDiscovery.innerJoinCluster(ZenDiscovery.java:484) [elasticsearch-6.0.1.jar:6.0.1]
    at org.elasticsearch.discovery.zen.ZenDiscovery.access$2500(ZenDiscovery.java:90) [elasticsearch-6.0.1.jar:6.0.1]
    at org.elasticsearch.discovery.zen.ZenDiscovery$JoinThreadControl$1.run(ZenDiscovery.java:1286) [elasticsearch-6.0.1.jar:6.0.1]
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:569) [elasticsearch-6.0.1.jar:6.0.1]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]

Why? I"ve been doing this for a long time. Have any of my seniors ever met?

Mar.29,2021

network.host: 0.0.0.0
add a line
network.publish_host: your ip address

Menu