以某种方式从在 EMR 上运行的 Spark 作业连接到 HDFS,它不会受到名称节点故障的影响HDFS 已启用 HA

问题描述

  1. 我们使用 HDP2.7 和 hdfs,启用 HA。
  2. 我们在 EMR 集群上运行 Spark 作业,而 Hadoop 集群是 EMR 集群的远程集群。
  3. HDFS 用于检查点目录。
  4. 最初应用程序使用 url 连接到活动名称节点:hdfs://"活动名称节点主机名"/user/(url 在应用程序中使用活动名称节点主机名硬编码)
  5. 但有一种情况,活动名称节点出现故障,备用名称节点成为活动名称节点,在这种情况下,应用程序开始失败,因为硬编码名称节点不可用。
  6. 在这可以在 Hadoop 集群上运行的应用程序中通过在 HDFS url 中使用名称服务 (dfs.nameservices) 来处理,而不是使用活动的 IP 地址或主机名名称节点。
  7. 如何从在 EMR 集群上运行的 SPARK 作业处理此问题。在那里(在 EMR 集群上),我们尝试使用名称服务 ID 连接到 HDFS,但由于该服务不是任何节点的主机名,因此我们遇到了未知主机异常。
  8. 当应用程序在远程 EMR 集群上运行并且 HDFS 是远程的(以某种方式从 EMR 连接到 HDFS,它不会受到名称节点故障者的影响)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)