当前位置: 首页 > 知识库问答 >
问题:

NoNodeAvailableException:配置的节点都不可用

司徒俊健
2023-03-14

我正在尝试从Java Web服务中的弹性搜索进行搜索,下面是我现在的使用方法:

    Client client = new PreBuiltTransportClient(Settings.EMPTY).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.10.150"), 9200));
    SearchResponse searchResponse = client.prepareSearch().execute().actionGet();
    var node = new Uri("http://192.168.10.150:9200");
    var settings = new ConnectionSettings(node).DefaultIndex("iod-2017.03.08.*");
    _EsClient = new ElasticClient(settings);
    var index = String.Format("iod-{0}.{1:00}.{2:00}.*", item.TriggerTime.Year, item.TriggerTime.Month, item.TriggerTime.Day);
    var uniqueId = item.UniqueId.ToString();
    var result = _EsClient.Search<logs>(s => s.Index(index).Query(q => q.Match(t => t.Field(l => l.id).Query(uniqueId))));

我在Java程序中做了什么(防火墙、库版本、调用API的方法等)错了吗?我现在的Java版本是1.8.0.121,Elastic Search和Transport Client的版本都是5.2。谢了!

共有1个答案

廖弘量
2023-03-14

正如评论中所讨论的,

如果您使用的是elasticsearch以外的群集名称,那么您需要在设置中更新相同的名称。

Settings settings = Settings.builder()
        .put("cluster.name", "myClusterName").build();
 类似资料:
  • 问题内容: 我正在尝试从Java Web Service中的Elastic Search中进行搜索,这是我现在使用的方式: 第一行可以正常工作,但是转到第二行时,将发生以下异常: NoNodeAvailableException [没有已配置的节点可用:[{#transport#-1} {TskPSVeBRR6CvCzP9EVhkQ} {192.168.10.150} {192.168.10.15

  • 我使用spring-data-elasticsearch的3.0.0版本在使用过程中出现了一个问题,有时成功,有时会报错 配置的节点均不可用:[{#Transport#-1}{S0DLwdVZRk-Osl4KgxM91A}{127.0.0.1}{127.0.0.1:9300} Elasticsearch版本为5.4.0。 我的spring配置文件是 这个错误不是经常出现,而是偶尔出现

  • 问题内容: 我知道这个问题已经得到解决,但是我已经尽力了,无法解决我的问题。 我刚刚安装了elasticsearch并启动了它。这里的弹性日志: 因此,Elastic已在端口9300上完全运行并正在侦听。 我的群集名称是“我的应用程序”。 由elasticsearch.yml确认: 并且通过请求http:// localhost:9200 /来确认: 这是我的Maven依赖关系(elastic和c

  • 刚刚下载并安装了elasticsearch 1.3.2 打开到端口9200和9300的IP表:9400

  • 因此,我正在运行一个Hadoop查询,它需要Amazon EC2上运行的ElasticSearch索引中的一个字段的信息。问题是,我总是得到“没有一个配置的节点可用”的错误。更令人沮丧的是,我几天前还在工作,但由于缺乏CPU操作,它在查询过程中退出了。但我的合作伙伴不知道这一点,所以他试图找出为什么它在查询中失去连接似乎导致了这个问题。他也不记得自己做了什么。 我知道以前有人问过这个问题,但我确信

  • 问题内容: 我正在上它可为本地 我正在使用Elastic4s进行连接,尝试了以下方法,但是所有这些都给了我错误 和 错误是 我完整的代码是 问题答案: 9200是用于通过HTTP连接的端口,这就是为什么它可以在您的浏览器中工作的原因。如果检查堆栈跟踪的顶部,则可以看到通过传输客户端(即TCP)进行连接,因此需要使用端口9300。试试这个: