不为失败找理由,要为成功找方法。

集群环境下java单例查询多了就异常

Elasticsearch | 作者 hubiao | 发布于2018年07月13日 | 阅读数:2930


{
  "query" : {
    "term" : {
      "url" : {
        "value" : "http://www.xinhuanet.com/info/ ... ot%3B,
        "boost" : 1.0
      }
    }
  },
  "sort" : [
    {
      "createDate" : {
        "order" : "desc"
      }
    }
  ]
}


java api 访问多了就抛如下错误
NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{lKS_PSd5QfqZsTvMlRv8AA}{127.0.0.1}{127.0.0.1:9302}]]
    at org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:347)
    at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:245)
    at org.elasticsearch.client.transport.TransportProxyClient.execute(TransportProxyClient.java:59)
    at org.elasticsearch.client.transport.TransportClient.doExecute(TransportClient.java:363)
    at org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:408)
    at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:80)
    at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:54)
    at org.elasticsearch.action.ActionRequestBuilder.get(ActionRequestBuilder.java:62)
    at com.xhgk.spider.spider.servlet.DataService.existsByUrl(DataService.java:244)
    at com.xhgk.spider.spider.servlet.Helper.existsByUrl(Helper.java:330)
    at com.xhgk.spider.spider.servlet.UrlConsumer.recursionUrl(UrlConsumer.java:93)
    at com.xhgk.spider.spider.servlet.UrlConsumer.recursionUrl(UrlConsumer.java:106)
    at com.xhgk.spider.spider.servlet.UrlConsumer.run(UrlConsumer.java:46)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
已邀请:

JackGe

赞同来自:

None of the configured nodes are available这个错误表明你使用的TransportClient未连接到集群中任意一个节点。请检查es集群中作为client角色的ip及tcp使用的端口号和你代码中传入的节点ip及端口是否一致。错误信息里127.0.0.1:9302,你连接的是本地es节点9302端口,es默认tcp端口是9300。还有一个注意点是TransportClient连接的集群名称是否就是你想要访问的集群。

要回复问题请先登录注册