Elasticsearch ec2 发现获取了错误的 IP?

Elasticsearch ec2 发现获取了错误的 IP?

我在 AWS 上将 elasticsearch 1.4.3 作为工作节点/客户端 (master=false, data=false) 运行,并尝试让它加入集群。

我的 elasticsearch.yml 如下所示:

cluster-name: elastisearch
node.master:false
node.data: false
plugin.mandatory: cloud-aws
discovery.type: ec2
cloud.aws.region: us-east-1
discovery.ec2.groups: sg-934a92fa

当我启动 elasticsearch 时sudo -E /usr/share/elasticsearch/bin/elasticsearch -d出现此错误:

[2015-08-17 20:49:02,690][INFO ][discovery.ec2        ] [Marsha Rosenberg]
failed to send join request to master [[Mayday Parker]
[7rfILKuXSLegJIT2bU9bsw][inet[/10.110.1.143:9300]]{data=false,master=true}],
reason [RemoteTransportException: [Mayday Parker][inet[/172.17.0.4:9300]]
[discovery/zen/join]; nested: NotSerializableTransportException
[[org.elasticsearch.transport.ConnectTransportException]
[Marsha Rosenberg][inet[/10.110.1.184:9300]] connect_timeout[30s];
 connection timed out; inet[/10.110.1.184:9300; ]; ]

我使用 netcat 检查了 10.110.1.143:9300,一切正常。我执行了 tcpdump,看到 10.110.1.184 和 10.110.1.143 之间 9300 上的流量。但我不知道 IP 地址在哪里:172.17.0.4来自哪里。我甚至没有用该 CIDR 创建的 VPC,更不用说用该 IP 创建的实例了。

我认为问题与这个奇怪的 IP 有关,否则一切看起来都很正常。我已经运行了十次或更多次,使用了不同的配置,但都无济于事。我甚至重启了主节点,但无济于事。

有任何想法吗?

答案1

我遇到了同样的问题,因为默认绑定地址 0.0.0.0 回退到 eth1 子网而不是 eth0。将我的绑定地址更改为 eth1 后(在我的两个 ES 节点上),ES 能够在正确的子网中启动。如果您有两个网络接口,我建议检查这一点(ifconfig + 查看 ES 日志就足够了)。

相关内容