gpt4 book ai didi

scala - 如何检查ElasticSearch是否正常运行

转载 作者:行者123 更新时间:2023-12-03 02:00:09 25 4
gpt4 key购买 nike

我是ElasticSearch的新手,并且在连接ElasticSearch时遇到问题。请找到以下详细信息:

  • hq 插件和插件显示不同的结果:
    HQ插件的输出:
    Output of HQ Plugin
    头插件输出:
    Output of Head Plugin
  • 当我尝试从我的Scala代码进行连接时,出现以下错误:
    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.InternalTransportClient.execute(InternalTransportClient.java:106)
    at org.elasticsearch.client.support.AbstractClient.index(AbstractClient.java:102)
    at org.elasticsearch.client.transport.TransportClient.index(TransportClient.java:340)
    at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$$anonfun$apply$1.apply(IndexDsl.scala:23)
    at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$$anonfun$apply$1.apply(IndexDsl.scala:23)
    at com.sksamuel.elastic4s.Executable$class.injectFuture(Executable.scala:21)
    at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$.injectFuture(IndexDsl.scala:20)
    at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$.apply(IndexDsl.scala:23)
    at com.sksamuel.elastic4s.IndexDsl$IndexDefinitionExecutable$.apply(IndexDsl.scala:20)
    at com.sksamuel.elastic4s.ElasticClient.execute(ElasticClient.scala:28)

  • 这是我用于连接的代码:
    val settings = ImmutableSettings.settingsBuilder()
    .put("cluster.name", "elasticsearch")
    .build()
    val client = ElasticClient.remote(settings, ElasticsearchClientUri("elasticsearch://10.50.xxx.xxx:9300"))
  • 我也检查了我的连接,并且能够在9200和9300端口
  • 上成功telnet 10.50.xxx.xxx
  • 我读到某处问题可能是http.cors,所以我在服务器上的/etc/elasticsearch/elasticsearch.yml文件中添加了以下几行:
    http.cors.allow-origin: "/.*/"
    http.cors.enabled: true

    请指出我做错了什么?

  • -更新-
    感谢@ Evaldas Buinauskas,这是版本问题,我安装了 flex 版本2.0,并使用版本1.7的库和插件。我将Elastic降级到1.7版,一切正常!

    最佳答案

    问题来自不同的Elasticsearch,头插件和Scala客户端版本。

    在2.0之前的版本中,Elasticsearch仍支持不建议使用的_status端点(在1.2.0中不建议使用)

    2.0版完全删除了它,并将其替换为_recovery

    Head和Scala都没有升级,并试图调用已删除的api。

    关于scala - 如何检查ElasticSearch是否正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33560588/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com