SPARK YARN:无法从客户端发送作业(org.apache.hadoop.ipc.client-正在重试连接到服务



我正试图在HA模式下将火花作业发送到纱线(没有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)时,它在活动和备用机器中都能很好地工作。

是什么原因导致了问题?

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

问题在于spark-submitter-jar的类路径中缺少yarn-site.xml。实际上,spark-submitter-jar并没有考虑YARN_CONF_DIRHADOOP_CONF_DIRenv-var,所以看不到yarn站点。

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

最新更新