繁体   English   中英

索引编制上的org.elasticsearch.client.transport.NoNodeAvailableException

[英]org.elasticsearch.client.transport.NoNodeAvailableException on indexing

在以下代码中调用client.index(indexRequest)

public static void main(String...sdg) {

    Settings s = ImmutableSettings.settingsBuilder()
            .put("cluster.name","myCluster")
            .build();
    TransportClient client = new TransportClient(s)
        .addTransportAddress(new InetSocketTransportAddress("localhost", 9300));;
    try {
        IndexRequest indexRequest = new IndexRequest("myindex", "pplain", "29");    
        indexRequest.source(makeAJsonDocument("some title", "some content");
        client.index(indexRequest)
              .actionGet();
    } catch (Exception e) 
    { System.out.println("error \n"+e);
    e.printStackTrace();
    } finally {client.close();  
    }
}

引发以下错误:

Jul 24, 2015 3:40:56 PM org.elasticsearch.plugins.PluginsService <init>
INFO: [Ectokid] loaded [], sites []
error 
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: []
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: []
at org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:305)
at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:200)
at org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:106)
at org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:97)
at org.elasticsearch.client.support.AbstractClient.index(AbstractClient.java:97)
at org.elasticsearch.client.transport.TransportClient.index(TransportClient.java:335)
at ES.ThisPRJ.ThatClass.main(ThatClass.java:67)

我的elasticsearch.yml看起来像这样:

cluster.name: myCluster

我在服务器和Java客户端上都运行ES 1.7.0版-我只有一个ES安装。

把我累了。

我想念什么???

注意:我看到了ElasticSearch Java API:NoNodeAvailableException:没有可用的节点和一些其他文章。

TIA。

您提供的代码中有一个小的编译问题,请检查您执行indexRequest.source的行,您缺少')'。 我使用了这段代码,对我来说很好用。 你可以试一下吗? 您是否遗漏了一些代码?

import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;

public class TestMe {
    public static void main(String... sdg) {

        Settings s = ImmutableSettings.settingsBuilder()
                .put("cluster.name", "performance")
                .build();
        TransportClient client = new TransportClient(s)
                .addTransportAddress(new InetSocketTransportAddress("localhost", 9300));
        try {
            IndexRequest indexRequest = new IndexRequest("myindex", "pplain", "29");
            indexRequest.source("{\"title\":\"This is a title\"}");
            client.index(indexRequest)
                    .actionGet();
        } catch (Exception e) {
            System.out.println("error \n" + e);
            e.printStackTrace();
        } finally {
            client.close();
        }
    }
}

我猜您已经验证集群是否正在使用浏览器运行? http://本地主机:9200

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM