【问题标题】:SPARK YARN: cannot send job from client (org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:8032)SPARK YARN:无法从客户端发送作业(org.apache.hadoop.ipc.Client - 重试连接到服务器:0.0.0.0/0.0.0.0:8032)
【发布时间】:2019-05-22 14:19:53
【问题描述】:

我正在尝试在 HA 模式下将 spark 作业发送到 yarn(没有 HDFS)。

对于提交,我使用org.apache.spark.deploy.SparkSubmit。 当我从具有活动资源管理器的机器发送请求时,它运行良好。但是,如果我尝试从具有备用资源管理器的机器发送,作业将失败并出现错误:

DEBUG org.apache.hadoop.ipc.Client - Connecting to spark2-node-dev/10.10.10.167:8032
DEBUG org.apache.hadoop.ipc.Client - Connecting to /0.0.0.0:8032
org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep

但是,当我通过命令行 (spark-submit) 发送请求时,它在活动机器和备用机器上都能正常工作。

什么可能导致问题?

附:对两种类型的发送作业使用相同的参数:org.apache.spark.deploy.SparkSubmitspark-submit 命令行请求。以及为所有 rm 主机定义的属性 yarn.resourcemanager.hostname.rm_id

【问题讨论】:

  • 如果我不得不猜测,您的应用可能没有使用与 spark-submit 相同的 yarn-site.xml。另外,当您说 yarn.resourcemanager.hostname.rm_id 时,您实际上是指yarn.resourcemanager.hostname.**<rm_id>**,对吗? hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/…
  • 是的,我用过yarn.resourcemanager.hostname.**<rm_id>**

标签: apache-spark hadoop hadoop-yarn hadoop2


【解决方案1】:

问题在于 spark-submitter jar 的类路径中缺少 yarn-site.xml。实际上 spark 提交者 jar 没有考虑 YARN_CONF_DIRHADOOP_CONF_DIR env var,所以看不到 yarn-site。

我发现的一个解决方案是将 yarn-site 放入 jar 的类路径中。

【讨论】:

    猜你喜欢
    • 2021-09-24
    • 2016-01-29
    • 1970-01-01
    • 2017-07-13
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    相关资源
    最近更新 更多