Not enough master nodes discovered during pinging (found [[]], but needed [2]), pinging again

Hi,

I have a 4 node cluster. 3 nodes are running on Red Hat Enterprise Linux Server. 1 node is on Windows Server 2008 R2. Configurations are as follows:

node4 [coordinating node]

cluster.name: appmon
node.name: node4
network.host: 10.74.160.99
http.port: 9204
node.data: false
node.master: false
node.ingest: false
discovery.zen.ping.unicast.hosts: ["10.74.161.100:9201","10.74.161.100:9202","10.74.161.100:9203","10.74.160.99:9204"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 60s

node1 [master+data+ingest]

cluster.name: appmon
node.name: node1
network.host: 10.74.161.100
http.port: 9201
node.data: true
node.master: true
node.ingest: true
discovery.zen.ping.unicast.hosts: ["10.74.161.100:9201","10.74.161.100:9202","10.74.161.100:9203","10.74.160.99:9204"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 60s

node2 [master+data+ingest]

cluster.name: appmon
node.name: node2
network.host: 10.74.161.100
http.port: 9202
node.data: true
node.master: true
node.ingest: true
discovery.zen.ping.unicast.hosts: ["10.74.161.100:9201","10.74.161.100:9202","10.74.161.100:9203","10.74.160.99:9204"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 60s

node3 [master+data+ingest]

cluster.name: appmon
node.name: node3
network.host: 10.74.161.100
http.port: 9203
node.data: true
node.master: true
node.ingest: true
discovery.zen.ping.unicast.hosts: ["10.74.161.100:9201","10.74.161.100:9202","10.74.161.100:9203","10.74.160.99:9204"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 60s

I am starting nodes in the order: node1, node2, node3 and then node4.
I am getting json response like this for all 4 nodes:
{
"name" : "node1",
"cluster_name" : "appmon",
"cluster_uuid" : "na",
"version" : {
"number" : "6.4.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "595516e",
"build_date" : "2018-08-17T23:18:47.308994Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
In the logs of node4, I am getting this exception:
not enough master nodes discovered during pinging (found [], but needed [2]), pinging again

I increased the discovery.zen.ping_timeout to 60s. Even then I am getting above exception.

What is the exact version of Java you are running on all the nodes? Have you verified that all the nodes can reach eachother?

I notice that you've used the http.port values after each host in the zen discovery hosts settings on your nodes, such as this one (from node4):

This wont't work because Elasticsearch uses TCP for the master discovery phase, not HTTP, so you need to specify the TCP port. If you've specified a TCP port in the transport.tcp.port field in elasticsearch.yml you need to use this value, if not use the default which I believe is 9300.

1 Like

Thanks,
I changed this configuration in elasticsearch.yml
discovery.zen.ping.unicast.hosts: ["10.74.161.100:9303", "10.74.161.100:9304", "10.74.161.100:9305", "10.74.160.99"]
Now its working fine.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.