spark-On-Yarn报错application has already ended! It might have been killed or

如果使用spark on yarn 提交任务,一般情况,都使用cluster模式,该模式,Driver运行在集群中,其实就是运行在ApplicattionMaster这个进程成,如果该进程出现问题,yarn会重启ApplicattionMaster(Driver),SparkSubmit的功能就是为了提交任务。

 

如果使用交换式的命令行,必须用Client模式,该模式,Driver是运行在SparkSubmit进程中,因为收集的结果,必须返回到命令行(即启动命令的那台机器上),该模式,一般测试,或者运行spark-shellspark-sql这个交互式命令行是使用

 

注意:如果你配置spark-on-yarn的client模式,其实会报错。

修改所有yarn节点的yarn-site.xml,在该文件中添加如下配置

 

<property>

    <name>yarn.nodemanager.pmem-check-enabled</name>

    <value>false</value>

</property>

 

<property>

    <name>yarn.nodemanager.vmem-check-enabled</name>

    <value>false</value>

配置完成之后,重启namenode跟RM,然后在跑程序 ok

猜你喜欢

转载自blog.csdn.net/qq_32736999/article/details/84557923