我正在尝试在 Elasticsearch 中使用下面的Java代码进行索引.. 我在代码中给出了我的机器IP。它无法连接到节点。 它给出如下错误:
线程“main”org.elasticsearch.client.transport.NoNodeAvailableException中出现异常:没有可用节点 在 org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:219) 在 org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:106) 在 org.elasticsearch.client.support.AbstractClient.index(AbstractClient.java:82) 在 org.elasticsearch.client.transport.TransportClient.index(TransportClient.java:330) 在 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");
我检查了机器中的端口是否打开。
任何人都可以帮助我理解这个问题吗?
提前致谢
最佳答案
我认为提及集群名称有问题..使用如下
Settings settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", "elasticsearch").build();
希望它有帮助..!
关于java - 线程 "main"org.elasticsearch.client.transport.NoNodeAvailableException : No node available 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23242729/