我尝试将最基本的案例连接到我的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;
答案 0 :(得分:2)
有一些可能的原因: