【问题标题】:Spark Cannot detect ES version - AWS OpenSearchSpark 无法检测 ES 版本 - AWS OpenSearch
【发布时间】:2023-02-24 05:44:39
【问题描述】:

我正在尝试从 AWS OpenSearch 域读取我的数据并收到此错误:“无法检测 ES 版本 - 通常如果网络/Elasticsearch 集群不可访问或在没有正确设置'es.nodes 的情况下以 WAN/云实例为目标时会发生这种情况.wan.only”。

当我连接到 ElasticSearch(版本 7.10)下的域时,一切都很好。

我的示例 Scala 代码:

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import org.apache.spark.sql._
import org.apache.spark.sql.types.{StructField, StructType}
import org.elasticsearch.spark._
import org.apache.spark.sql.types.StringType
import org.apache.spark.sql.types.{MapType, StringType}
import org.apache.spark.sql.functions.{from_json,col}

object SparkContextApp {
    def main(args: Array[String]): Unit = {
      val appName = "App"
      val master = "local[*]"
      val conf = new SparkConf().setAppName(appName)
        .setMaster(master)
        .set("es.nodes", "https://*************************.us-east-1.es.amazonaws.com")
        .set("es.port", "***")
        .set("es.http.timeout", "5m")
        .set("es.nodes.wan.only", "true")
        .set("es.net.ssl", "true")
        .set("es.net.http.auth.user", "********")
        .set("es.net.http.auth.pass", "********")
      val sc = new SparkContext(conf)
      val data = sc.esRDD("***/***")
     }
  }

库依赖项: libraryDependencies += "org.elasticsearch" % "elasticsearch-spark-30_2.12" % "8.2.3"

【问题讨论】:

  • 你好,我也面临同样的问题,请问你找到解决办法了吗?我正在使用依赖项的版本 org.elasticsearch:elasticsearch-spark-30_2.12:7.17.3。我使用 elasticsearch 进行的所有测试都有效,但使用 AWS OpenSearch 时我面临着与您相同的问题。

标签: amazon-web-services opensearch


【解决方案1】:

您需要将 OpenSearch 配置为在兼容模式下运行。在设置/创建期间有一个标志将启用此功能。

这也可以通过 API 调用来完成:

PUT /_cluster/settings
{
  "persistent" : {
    "compatibility.override_main_response_version" : true
  }
}

兼容模式只是告诉 OpenSearch 将其 elasticsearch 版本号报告为 7.10 而不是“较新”的 Opensearch 1.2.0 版本。

这将使您的 spark 连接器能够正确识别版本号并成功连接。

【讨论】:

    猜你喜欢
    • 2018-10-18
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    相关资源
    最近更新 更多