我是elasticsearch的新手并尝试连接到运行1.5.2版的远程群集。我已将相同版本的Maven依赖项添加到我的项目中。我正在使用以下Scala代码初始化Transport客户端:
val settings: Settings = ImmutableSettings.settingsBuilder().put("cluster.name", "clusterName").put("client.transport.sniff", true).build()
val client: Client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("XX.X.X.XX", 9300))
当我尝试检查索引是否存在时失败:
val exists = client.admin().indices().prepareExists("index").execute().actionGet().isExists()
" CLUSTERNAME"匹配属性' cluster.name'在cluster上的elasticsearch.yml中。我也尝试将client.transport.ping_timeout和client.transport.nodes_sampler_interval升级到30s无效,并尝试使用和不使用嗅探。
我在端口9200上使用了curl来验证我可以索引并搜索我的elasticsearch实例。
相关堆栈跟踪:
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.InternalTransportIndicesAdminClient.execute(InternalTransportIndicesAdminClient.java:86)
at org.elasticsearch.client.support.AbstractIndicesAdminClient.exists(AbstractIndicesAdminClient.java:170)
at org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequestBuilder.doExecute(IndicesExistsRequestBuilder.java:53)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:91)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:65)
提前感谢您的任何帮助。
答案 0 :(得分:0)
我知道这是一个非常老的问题,但是我知道这种情况下的一种解决方法是在您的设置中为“假”添加嗅探
put("client.transport.sniff", false)