问题描述
docker起了3个elasticsearch 节点, 但是无法成为集群!
elasticsearch配置代码:
机器10.1.1.54
# 集群名称
cluster.name: "docker-cluster"
# 节点名称
node.name: node-54
# 是否为主节点
node.master: true
# 是否处理数据
node.data: true
# 对外暴露的host
network.host: 0.0.0.0
# 对外访问的端口号
http.port: 9200
# 集群间通信的端口号
transport.tcp.port: 9300
# 集群的ip集合,可指定端口,默认为9300
discovery.zen.ping.unicast.hosts: ["10.1.1.54:9300", "10.1.1.55:9300", "10.1.1.56:9300"]
# 最少的主节点个数,为了防止脑裂,最好设置为(总结点数/2 + 1)个
discovery.zen.minimum_master_nodes: 1
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 不启用x-pack安全认证
xpack.security.enabled: false
10.1.1.55
# 集群名称
cluster.name: "docker-cluster"
# 节点名称
node.name: node-55
# 是否为主节点
node.master: true
# 是否处理数据
node.data: false
# 对外暴露的host
network.host: 0.0.0.0
# 对外访问的端口号
http.port: 9200
# 集群间通信的端口号
transport.tcp.port: 9300
# 集群的ip集合,可指定端口,默认为9300
discovery.zen.ping.unicast.hosts: ["10.1.1.54:9300", "10.1.1.55:9300", "10.1.1.56:9300"]
# 最少的主节点个数,为了防止脑裂,最好设置为(总结点数/2 + 1)个
discovery.zen.minimum_master_nodes: 1
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 不启用x-pack安全认证
xpack.security.enabled: false
10.1.1.56 除了node.name 其他的和55的配置一样
实际看到的错误信息
[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]
为什么呢? 搞了好久了 有哪位前辈 遇到过吗?
network.host: 0.0.0.0
下加一行
network.publish_host:你的ip地址