环境: es 6.5.4

最近断电服务器重启后,es集群里面有一台机器(node-209)一直报错,错误具体信息如下:

[2019-04-16T23:56:59,255][INFO ][o.e.d.z.ZenDiscovery     ] [node-209] failed to send join request to master [{node-208}{DmE9PTb1RI-QwyeDe3xPSg}{VLZTMH5yS7GYQrE89-hzwA}{192.168.5.208}{192.168.5.208:9300}{ml.machine_memory=66999791616, ml.max_open_jobs=20, xpack.installed=true, ml.enabled=true}], reason [RemoteTransportException[[node-208][192.168.5.208:9300][internal:discovery/zen/join]]; nested: ConnectTransportException[[node-209][172.17.0.1:9300] connect_timeout[30s]]; ]

然后我开始一直按照failed to send join request to master 去找解决方案,结果都是说该节点下的数据是错误的,我备份了data,然后情况了data下的数据,结果还是有如上错误。后面反馈到老大哪儿去,老大详细看了下错误,一下就发现其中不对劲,node-209 的本机IP是: 192.168.5.209, 但是 在注册成es节点时的IP确是 172.17.0.1,查看下了该节点所在机器的网卡信息,172.17.0.1 这个是被docker虚拟出来的地址,而ES集群中只有该节点装有docker,导致 不能通过 172.17.0.1跟其他192.168.5.*上的节点通信。

修改es的配置,将修改为 network.host: 192.168.5.209, 然后本机测试 192.168.5.209:9200,访问也OK

总结:看信息一定要先看全啊,不能看了一半就跑

mugbya
1.2k 声望41 粉丝

时间永远分岔,通往无数未来