ElasticSearch(java) - 未配置节点的问题

时间:2016-04-26 13:15:23

标签: java elasticsearch elasticsearch-java-api

我尝试将最基本的案例连接到我的ES群集,但似乎我注册的主机没有注册。这是我正在运行的代码:

//Create the client
Client client = new TransportClient(ImmutableSettings.builder()
    .put("cluster.name", "MyCluster")
    .put("client.transport.sniff","true").build())
    .addTransportAddresses(
        new InetSocketTransportAddress("host1", 9300),
        new InetSocketTransportAddress("host2", 9300));

// Try to make a call
SearchRequest sr = new SearchRequest().indices("MyIndex");
ActionFuture<SearchResponse> search = client.search(sr);
SearchResponse actionGet = search.actionGet(); // <-- Exception
System.out.println(actionGet.toString());

client.close();

这是我得到的例外:

线程中的异常&#34; main&#34; org.elasticsearch.client.transport.NoNodeAvailableException:
没有配置的节点可用:[]

看起来没有连接的节点,我缺少什么?

注意:我使用带有gradle的弹性搜索客户端:
compile&#39; org.elasticsearch:elasticsearch:1.7.5&#39;

1 个答案:

答案 0 :(得分:2)

有一些可能的原因:

  • 客户端和服务器版本可以不同
  • 群集名称可以不同
  • 访问主机和端口时可能存在网络问题。