【问题标题】:Accessing HBase on Amazon EMR with Athena使用 Athena 访问 HBase on Amazon EMR
【发布时间】:2021-10-29 23:03:48
【问题描述】:

是否有人设法通过 Athena 访问在 Amazon EMR 集群上作为服务运行的 HBase? 我正在尝试建立与 HBase 实例的连接,但 lambda(由 Athena java 函数提供)失败并出现以下错误:

Failed to invoke lambda function due to 
com.amazonaws.services.lambda.invoke.LambdaFunctionException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=3, 
exceptions: Tue Aug 31 09:42:35 UTC 2021, 
RpcRetryingCaller{globalStartTime=1630402955107, pause=500, retries=3}, 
org.apache.hadoop.hbase.MasterNotRunningException: java.net.UnknownHostException: can 
not resolve ip-10-113-8-29.my.domain.com,16000,1630400215973 Tue Aug 31 09:42:35 
UTC 2021, RpcRetryingCaller{globalStartTime=1630402955107, pause=500, retries=3}

my.domain.com 在这种情况下是 VPC dhcp 选项集的一部分。 lambda 和 EMR 集群都属于同一个 VPC,因此都具有相同的 dhcp 选项。 显然 lambda 无法解析 dns 名称。 你能帮我吗,我应该如何将 dns 名称注入 lambda 函数?还是有其他解决方案?

PS。 EMR 集群上的 HBase 已启动并正在运行。我还有另一个 lambda - python 函数,它成功地将数据放入这个数据库,但是这个 lambda 使用共享 EMR 主公共 DNS url,我可以提供一个给 Athena 的 lambda 函数,即 ec2-3-131-xx-xxx.us- east-2.compute.amazonaws.com:16000:2181,但我猜该函数会从 zookeeper 或 EMR 上的其他一些服务收集内部 DNS 名称...

【问题讨论】:

    标签: amazon-web-services aws-lambda hbase amazon-emr


    【解决方案1】:

    最后,该问题的解决方案是为每个集群 ec2 实例创建适当的 dns 记录,并在 Amazon Route53 服务中使用必要的名称。

    【讨论】:

      猜你喜欢
      • 2023-01-08
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2018-02-25
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      相关资源
      最近更新 更多