ConnectTransportException non-master-eligible node found

I'm configuring Elasticserach 7.9.0 cluster with 2 hosts. The elasticsearch.yml in host1 is setup with node.master as true and host2 is setup with node.master as false.
Both hosts have elasticsearch started but with error in host2. Each node is up and running but they are not communicating with each other. Enabled trace for discovery.

Host1 logs indicate: [2021-03-05T18:49:39,125][TRACE][o.e.d.PeerFinder ] [liferaydev1] probing resolved transport addresses []
[2021-03-05T18:49:39,125][TRACE][o.e.d.PeerFinder ] [liferaydev1] Peer{transportAddress=, discoveryNode=null, peersRequestInFlight=false} attempting connection
[2021-03-05T18:49:39,125][TRACE][o.e.d.HandshakingTransportAddressConnector] [liferaydev1] [connectToRemoteMasterNode[]] opening probe connection
[2021-03-05T18:49:39,127][TRACE][o.e.d.HandshakingTransportAddressConnector] [liferaydev1] [connectToRemoteMasterNode[]] opened probe connection
[2021-03-05T18:49:39,128][TRACE][o.e.d.HandshakingTransportAddressConnector] [liferaydev1] [connectToRemoteMasterNode[]] handshake successful: {liferaydev2}{mOHlwT5kTXWcYD5QWCkkQQ}{w1_LFj-cTZWa5IuJTAE2rA}{liferaydev2}{}{dilrt}{ml.machine_memory=13640597504, ml.max_open_jobs=20, xpack.installed=true, transform.node=true}
[2021-03-05T18:49:39,128][DEBUG][o.e.d.PeerFinder ] [liferaydev1] Peer{transportAddress=, discoveryNode=null, peersRequestInFlight=false} connection failed
org.elasticsearch.transport.ConnectTransportException: [liferaydev2][] non-master-eligible node found

Elasticsearch in host1 liferay-elastic-cluster liferaydev1
network.publish_host: liferaydev1
network.bind_host: liferaydev1
http.port: 9200
transport.tcp.port: 9300 ["", ""]
cluster.initial_master_nodes: ["liferaydev1", "liferaydev2"]
discovery.zen.minimum_master_nodes: 2
node.master: true TRACE

Elasticsearch in host2 liferaydev2
network.publish_host: liferaydev2
network.bind_host: liferaydev2
http.port: 9200 ["", ""]
cluster.initial_master_nodes: ["liferaydev1", "liferaydev2"]
discovery.zen.minimum_master_nodes: 2
node.master: false

What is missing in the host1 configuration....please help.
Thank you.

There are some changes in discovery configuration:

  1. Look at Discovery | Elasticsearch Reference [7.9] | Elastic
discovery.seed_hosts: ["ip2:9300"]
discovery.seed_hosts: ["ip1:9300"]
  1. Node | Elasticsearch Reference [7.9] | Elastic
    node.master configuration I think is deprecated according to documentation, instead of use
    node.roles: [ master,data] or node.roles: [data]
  2. discovery.zen.minimum_master_nodes: 2 this configuration is deprecated, look at : Breaking changes in 7.0 | Elasticsearch Reference [7.9] | Elastic
    instead of use cluster.initial_master_nodes: ["liferaydev1", "liferaydev2"]
    Note If you want that NODE1 - master only, you should in cluster.inital_master_nodes set only "liferaydev1" value.

Thank you so much for the suggestions.
I changed to
'cluster.initial_master_nodes: ["node1_name"]'

Kept these same, though deprecated in Elasticsearch 7.9:

  1. 'node.master=' same as before in node1 and node2.
  2. 'discovery.zen.minimum_master_nodes: 2' same as before in node1 and node2
    and it worked.

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