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

ElasticSearch (java) - Nodes not configured issue

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

这是我得到的异常:

线程异常 "main" org.elasticsearch.client.transport.NoNodeAvailableException:
None 个已配置节点可用:[]

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

注意:我将弹性搜索客户端与 gradle:
一起使用 编译'org.elasticsearch:elasticsearch:1.7.5'

可能有以下原因:

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