【发布时间】: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.SparkSubmit 和 spark-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