Elasticsearch ec2 discovery получает неправильный IP?
Я использую asticsearch 1.4.3 в качестве рабочего узла / клиента (master=false, data=false) в AWS и пытаюсь заставить его присоединиться к кластеру.
Мой asticsearch.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
Когда я запускаю эластичный поиск 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; ]; ]
Я сделал проверку 10.110.1.143:9300 с помощью netcat, и все в порядке. Я сделал tcpdump и вижу трафик на 9300 между 10.110.1.184 и 10.110.1.143. Но я понятия не имею, откуда взялся ip: 172.17.0.4. У меня даже нет VPC, созданного с этим CIDR, не говоря уже о экземплярах с этим IP.
Я думаю, что проблема связана с этим странным IP, в противном случае все выглядит нормально. Я запускал это десять и более раз с разными конфигурациями, но безрезультатно. Я даже перезапустил свои мастер-узлы без авала.
Есть идеи?
1 ответ
Я столкнулся с такой же проблемой, потому что адрес привязки по умолчанию 0.0.0.0 возвращался к eth1 подсети вместо eth0. После изменения моего адреса привязки на адрес eth1 (на обоих моих двух узлах ES) ES смог загрузиться в правильной подсети. Если у вас есть два сетевых интерфейса, я бы посоветовал проверить это (должно хватить ifconfig + просмотр журнала ES).