线程“main”中的异常org.elasticsearch.client.transport.NoNodeAvailableException:没有可用的节点

时间:2014-04-23 11:19:52

标签: java search elasticsearch search-engine elastic-map-reduce

我在弹性搜索中使用以下Java代码尝试索引.. 我在代码中给了我的机器Ip。它无法连接到节点。 它给出了如下错误:

线程“main”中的异常org.elasticsearch.client.transport.NoNodeAvailableException:没有可用节点         at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:219)         at org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:106)         at org.elasticsearch.client.support.AbstractClient.index(AbstractClient.java:82)         at org.elasticsearch.client.transport.TransportClient.index(TransportClient.java:330)         at org.elasticsearch.action.index.IndexRequestBuilder.doExecute(IndexRequestBuilder.java:314)         在org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:85)         在org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:59)         在test.test1.main(test1.java:30)

我正在使用的代码:

public static void main(String[] args) {

    String json = "{" +         
                    "\"user\":\"AMaresh\"," +         
                    "\"postDate\":\"2014-04-23\"," + 
                    "\"message\":\"trying out Elasticsearch\"" +
                    "}";  


    Settings settings = ImmutableSettings.settingsBuilder().put("elasticsearch", "elasticsearch").build();
    TransportClient transportClient = new TransportClient(settings);

    Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("10.210.51.207",9300));

    IndexResponse response = client.prepareIndex("Cricket", "cric", "1").setSource(json).execute().actionGet();
    //List<String> matches = response.matches();
    System.out.println(response);
    System.out.println("finished");

我已检查机器中的端口已打开。

任何人都可以帮助我理解这个问题。

提前致谢

2 个答案:

答案 0 :(得分:4)

我认为提到群集名称的问题..使用lik follow

    Settings settings =               ImmutableSettings.settingsBuilder()
   .put("cluster.name", "elasticsearch").build();

希望它有帮助..!

答案 1 :(得分:1)

对类似问题的回答https://stackoverflow.com/a/25053586/3827220适用于您看到的错误消息。

检查以确保您在客户端和群集端使用相同的主要版本。