We are seeing the following error creating ES cluster on Azure in a VNET with Express route. Cluster was deployed using azure market place : https://azuremarketplace.microsoft.com/en-us/marketplace/apps/elastic.elasticsearch
[2017-10-01T00:00:00,844][WARN ][o.e.d.z.ZenDiscovery ] [ABCDDdata-0] not enough master nodes discovered during pinging (found [[Candidate{node={ABCDDdata-0}{EsZQuEPFTWS9qOs2Q0-Biw}{i0ypySR1TNiCahRjbdWlzQ}{xx.xxx.xx.xx}{xx.xxx.xx.xx:9300}{ml.enabled=true}, clusterStateVersion=-1}]], but needed [2]), pinging again
[2017-10-01T00:00:00,846][WARN ][o.e.d.z.UnicastZenPing ] [ABCDDdata-0] failed to resolve host [ABCDDdata-1:9300]
java.net.UnknownHostException: ABCDDdata-1
at java.net.InetAddress.getAllByName0(InetAddress.java:1280) ~[?:1.8.0_144]
at java.net.InetAddress.getAllByName(InetAddress.java:1192) ~[?:1.8.0_144]
at java.net.InetAddress.getAllByName(InetAddress.java:1126) ~[?:1.8.0_144]
at org.elasticsearch.transport.TcpTransport.parse(TcpTransport.java:921) ~[elasticsearch-5.5.1.jar:5.5.1]
at org.elasticsearch.transport.TcpTransport.addressesFromString(TcpTransport.java:876) ~[elasticsearch-5.5.1.jar:5.5.1]
at org.elasticsearch.transport.TransportService.addressesFromString(TransportService.java:691) ~[elasticsearch-5.5.1.jar:5.5.1]
at org.elasticsearch.discovery.zen.UnicastZenPing.lambda$null$0(UnicastZenPing.java:212) ~[elasticsearch-5.5.1.jar:5.5.1]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_144]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:569) [elasticsearch-5.5.1.jar:5.5.1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_144]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_144]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
Clusters deployed through the ARM template use Azure DNS to perform name resolution for VMs, using hostnames.
If you're using ExpressRoute, I suspect you maybe using your own DNS server(s); You will need to set these up to be able to resolve VMs in Azure by hostname, in order for Elasticsearch nodes to be able to communicate with each other and form a cluster.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.