我试图发送Spark作业纱(没有hdfs)在ha模式。
因为我正在使用 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
命令行请求。和属性 yarn.resourcemanager.hostname.rm_id
为所有rm主机定义
1条答案
按热度按时间ghhkc1vu1#
问题是spark submitter jar的类路径中缺少yarn-site.xml。实际上spark提交者jar没有考虑到
YARN_CONF_DIR
或者HADOOP_CONF_DIR
env var,所以无法查看站点。我发现的一个解决方案是将yarn站点放到jar的类路径中。