【问题标题】:Apache Spark accessing the data in hdfs through cross clusterApache Spark通过跨集群访问hdfs中的数据
【发布时间】:2016-07-04 23:59:38
【问题描述】:

我在 Amazon EMR 上运行 Spark,其公共 DNS 为 23.21.40.15。

现在我正在这个集群上执行我的 Spark Jar,我想将我的 Spark 作业的输出写入公共 DNS 为 29.45.56.72 的其他 Amazon EMR HDFS。

我能够访问我自己的集群 HDFS,即 23.21.40.15,但我无法写入集群 29.45.56.72。

  • 我需要做什么才能让我的 spark 作业可以访问跨集群 HDFS??
  • 如果可能,任何人都可以为此分享示例代码吗??

【问题讨论】:

  • 你能在第一个集群上写出来,然后使用 distCp 将输出移动到第二个集群吗?
  • 这是我想的一种间接方式....但是如果我的目的地是第二个集群怎么办?我的意思是如果我想从第一个集群将它写入第二个集群的 hdfs ??

标签: hadoop apache-spark amazon-emr databricks


【解决方案1】:

当您在 spark 作业中设置输出目录时,您可以设置凭据以访问它,如下所示:

hdfs://username:password@hostname:port/pathToFolder

PD:您不应该在公开问题中写出集群的 IP ;)

【讨论】:

  • 我写的IP只是为了示例......它们不是真正的IP......有什么替代方法而不是指定用户名和密码?如果涉及 2 个 Amazon EMR 集群,我该怎么做??
  • 如果它们都是 EMR 集群,那么您可以设置一个 IAM 角色以允许它们之间的 EMR 访问,尽管理论上似乎已经允许,但您可能还需要公开安全组的端口以在两个主机之间访问。
  • 知道了...我在北加州创建了我的第二个集群,而我的第一个集群在北弗吉尼亚...现在我可以访问 hdfs...有什么办法可以访问 2 EMR 集群,如果它们是跨区域的,即 1 个集群位于 N.Virginia,其他集群位于 N.California ??
  • AWS VPC 实施不允许 VPC 跨区域扩展,但您可以将两个 VPC 互连,例如 fortycloud.com/interconnecting-two-aws-vpc-regions
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 2014-10-07
  • 2018-05-29
  • 1970-01-01
  • 2016-11-25
  • 2018-01-14
  • 2016-12-25
相关资源
最近更新 更多