我正在尝试在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.SparkSubmit
和spark-submit
命令行请求。并为所有rm主机定义了属性yarn.resourcemanager.hostname.rm_id
答案 0 :(得分:0)
问题是火花发射器jar的类路径中缺少yarn-site.xml。实际上,火花提交器jar不考虑YARN_CONF_DIR
或HADOOP_CONF_DIR
env var,因此看不到纱线位置。
我发现的一个解决方案是将纱线位置放入jar的类路径中。