Elasticsearch - NoNodeAvailableException

后端 未结 3 448
迷失自我
迷失自我 2020-12-19 02:17

I get the following error when trying to connect to Elasticsearch 2 using the Java API for ES 2. This is the code:

Settings settings = Settings.settingsBuild         


        
3条回答
  •  [愿得一人]
    2020-12-19 02:46

    This problem could due to the network problem, if you are using network.host: _site_ in elasticsearch.yml AND sniffed TransportClient connection, i.e. multiple site-local addresses are available within the machine hosting es node.

    If you disable the sniff configuration, and the NoNodeAvailableException disappears, then you should double check the network configuration.

    Get the nodes stat

    GET /_nodes
    

    and check in the result to find transport configuration, i.e.

    "transport": {
        "bound_address": [
          "192.168.1.84:9300",
          "172.29.0.1:9300"
        ],
        "publish_address": "172.29.0.1:9300",
        "profiles": {}
      },
    

    If there are multiple site-local addresses, the network.publish_host that sniffed TransportClient will connect to, might be an unexpected address, because

    If not specified, this defaults to the “best” address from network.host, sorted by IPv4/IPv6 stack preference, then by reachability.

    To solve it, simple specify the network.publish_host

    network.publish_host: $DESIRED_IP_ADDRESS

    in elasticsearch.yml.

提交回复
热议问题