繁体   English   中英

远程火花提交不适用于YARN

[英]Remote spark-submit not working with YARN

我正在尝试使用spark-submit脚本从我的Spark群集之外的其他服务器(运行spark 1.4.0,hadoop 2.4.0和YARN)提交Spark作业:

spark/bin/spark-submit --master yarn-client --executor-memory 4G myjobScript.py

认为我的应用程序永远不会脱离接受状态,它停留在它上面:

15/07/08 16:49:40 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:41 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:42 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:43 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:44 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:45 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:46 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:47 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:48 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)
15/07/08 16:49:49 INFO Client: Application report for application_1436314873375_0030 (state: ACCEPTED)

但是,如果我在集群的主服务器中执行带有spark-submit的相同脚本,它将正常运行。

我已经在$ YARN_CONF_DIR / yarn-site.xml的远程服务器中设置了yarn配置,如下所示:

 <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>54.54.54.54</value>
 </property>

 <property>
   <name>yarn.resourcemanager.address</name>
   <value>54.54.54.54:8032</value>
   <description>Enter your ResourceManager hostname.</description>
 </property>

 <property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>54.54.54.54:8030</value>
   <description>Enter your ResourceManager hostname.</description>
 </property>

 <property>
   <name>yarn.resourcemanager.resourcetracker.address</name>
   <value>54.54.54.54:8031</value>
   <description>Enter your ResourceManager hostname.</description>
 </property>

其中54.54.54.54是我的resourcemanager节点的IP。

为什么会这样呢? 我是否必须在YARN中配置其他内容才能接受远程提交? 还是我想念什么?

非常感谢

JG

我怀疑您的YARN上的应用程序主控无法联系您的本地主机是一个问题。 您是否检查过已接受的应用程序是否附有任何日志? 您可能需要将SPARK_LOCAL_IP环境变量设置为可群集寻址的IP地址,以便YARN可以与您联系。

您是否尝试过运行yarn-cluster模式,以便驱动程序实际上将在YARN群集上运行? 如果您的本地主机离群集较远,可以避免通信延迟,那么这可能是一个更好的选择。

我可以想到两件事:

  1. spark-submit应当在本地框中而不是远程框中查找HADOOP_CONF_DIR或YARN_CONF_DIR env变量,以查找yarn-site.xml的位置。

  2. 如果完成上述操作,但仍然遇到相同的问题,则可能需要研究网络防火墙的设置;请参阅图11。 spark将通过多个端口与YARN RM(等等)进行通信,Spark通过AKKA群集进行内部通信,并且它们的端口是相当随机的。 最好尝试先打开所有tcp端口,看看是否可行。

希望这会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM