由于应用程序使用ElasticSearch的JavaAPI传输客户端,因此我希望在类路径中使用本地elasticsearch.yml
(由InternalSettingsPreparer
解析)配置文件以通过传输连接到群集。配置文件中的ElasticSearch Java API传输客户端地址
现在我有以下内容:
cluster:
name: elasticsearch # would be ${es.cluster.name}
network:
host: localhost
transport_address: localhost:9301 # would be ${es.network.trasport}
和客户端的初始化:
TransportClient client = new TransportClient();
这使我异常:
13/12/16 14:04:40 INFO elasticsearch.plugins: [Hanna Levy] loaded [], sites []
org.elasticsearch.client.transport.NoNodeAvailableException: No node available
但是当我添加以下line
client.addTransportAddress(new InetSocketTransportAddress("localhost", 9301));
事情开始按预期工作。
所以我想知道,是否有一种方法来配置标准配置文件格式的传输地址,而不是通过配置文件的配置文件重新发明轮子?
不起作用依然:org.elasticsearch.client.transport.NoNodeAvailableException:没有可用的节点 \t在org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:212) –
我测试了这个本地和有类似的错误,直到我修改端口为一个范围:9300-9400我检查了文档和端口设置应该是一个范围 - http://www.elasticsearch.org/guide/en/elasticsearch/reference/ current/modules-transport.html它默认为9300-9400,这对您应该足够了。因此,您可以将9300-9400的值或删除它,因为您已经使用了默认值。 –
仍然没有成功: // java代码: TransportClient client = new TransportClient(); ();(); prepareState()。execute()。actionGet(); //配置/ elastisearch.yml cluster.name:elasticsearch network.host:本地主机 network.transport.tcp.port:9300-9400 仍然给出 “无可用节点” 异常 附: es-0.90.7 –