我是elasticsearch的新手,正在尝试连接到运行1.5.2版的远程集群。我已经将相同版本的Maven依赖项添加到我的项目中。我使用以下Scala代码初始化传输客户端:
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“匹配集群上elasticsearch.yml中的属性”cluster.name“。我也试过将client.transport.ping_timeout和client.transport.nodes_sampler_interval调到30秒,但都没有用,并且尝试了嗅探和不嗅探。
我在端口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)提前感谢您的帮助。
发布于 2020-07-31 21:56:45
我知道这是一个很老的问题,但我知道的一种解决方法是在您的设置中将嗅探添加到false
put("client.transport.sniff", false)https://stackoverflow.com/questions/31075825
复制相似问题