【问题标题】:Unable to connect to AWS Elastic Search from AWS GLUE无法从 AWS GLUE 连接到 AWS Elastic Search
【发布时间】:2021-01-19 15:15:51
【问题描述】:

我希望从 AWS Glue 连接到弹性搜索。我关注了这个stack overflow post,正如帖子中提到的,我们已经在 s3 存储桶中添加了 jar 文件,并在创建作业时引用了 JAR 路径。当我们尝试将数据摄取到弹性时,胶水会抛出错误。

Elastic版本是7.1.1,我们引用的jar文件也是同一个版本elasticsearch-hadoop-7.1.1.jar

**

调用 o116.save 时出错。无法检测到 ES 版本 - 如果网络/Elasticsearch 集群不是,通常会发生这种情况 可访问或在没有适当的情况下以 WAN/云实例为目标时 setting 'es.nodes.wan.only'调用o116.save时出错。 无法检测 ES 版本 - 通常如果 网络/Elasticsearch 集群不可访问,或者当针对 没有正确设置 'es.nodes.wan.only' 的 WAN/Cloud 实例**

这是我们使用的代码,这里是否缺少任何设置。

df.write.format("org.elasticsearch.spark.sql").\
         option("es.nodes", "endpoint").\
         option("es.port", 443).\
         option("es.resource", "test/_doc").\
         option("es.nodes.wan.only",True).\
         option("es.net.ssl.cert.allow.self.signed", "true").\
         option("es.net.ssl", "true").\
         option("es.mapping.id","id").\
         save()

【问题讨论】:

    标签: aws-glue aws-elasticsearch


    【解决方案1】:

    要从 AWS Glue 连接到 Elasticsearch,您需要一个类型为“NETWORK”的 AWS Glue Connection。在 Terraform 中,可以使用 aws_glue_connection 添加它。必须将连接的名称而不是 ID 添加到来自aws_glue 的“连接”列表中。

    resource "aws_glue_connection" "elasticsearch" {
      name            = "glue_connection_to_elasticsearch"
      connection_type = "NETWORK"
      ...
    end
    
    resource "aws_glue_job" "your_glue_job_name" {
      ...
      connections = [aws_glue_connection.elasticsearch.name]
      ...
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 2020-10-30
      • 2021-11-26
      • 1970-01-01
      • 2015-09-18
      • 2020-07-28
      • 1970-01-01
      相关资源
      最近更新 更多