0

我正在尝试连接到我的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();

这是我得到的例外:

线程“主”org.elasticsearch.client.transport.NoNodeAvailableException
中的异常:配置的节点均不可用:[]

看起来没有连接的节点,我错过了什么?

注意:我正在使用带有 gradle 的弹性搜索客户端:
compile 'org.elasticsearch:elasticsearch:1.7.5'

4

1 回答 1

2

这有一些可能的原因:

  • 客户端和服务器版本可以不同
  • 集群名称可以不同
  • 访问主机和端口时可能存在网络问题。
于 2016-04-26T13:52:35.843 回答