首页 > 其他 > 详细

以yarn-client方式提交spark任务,任务一直卡在ACCEPTED状态

时间:2019-07-13 09:16:38      阅读:30      评论:0      收藏:0      [点我收藏+]

标签:memory   数据   core   manager   deploy   提交   测试数据   资料   -c   

问题背景

spark是以客户端的方式安装的,并没有启动spark的mesos集群,这时候的spark就相当与hive客户端。
以local模型和yarn-cluster方式提交任务,都能正确额执行,但是一yarn-client方式就卡在ACCEPTED

问题原因

在网上查了资料,都说是资源不够用,需要调整yarn.scheduler.capacity.maximum-am-resource-percent从0.1改成0.5,但是我测试数据才几k,集群内存128G,所以我直接排除了这个原因
后来想到,只有yarn-client方式失败,那问题应该出来driver端。就查看了一下服务器的/etc/hosts,发现diver上有集群其他节点的IP等信息,但是其他节点没有driver配置信息
导致driver能访问到集群,但是集群其他节点访问不了driver
所以local模式可以执行
yarn-cluster上可以执行,是因为客户端只要把任务提交到yarn上,客户端就没有用了。
但是yarn-client方式,客户端是充当了driver,driver需要一直和集群有通信,所以接收不到resouceManager的反馈。任务就一直卡住了

解决办法:

有两个方法:
    1、在命令后面加上一个--conf spark.driver.host=$your_ip_address,后面直接填客户端机器的IP地址就行
spark-submit \ 
       --master yarn        --deploy-mode client        --num-executors 2        --executor-memory 1G        --executor-cores 1        --conf spark.driver.host=192.168.72.129        dmp_broadcast_data_day.py
    2、在集群其他节点上都把driver服务器的IP加上去。

以yarn-client方式提交spark任务,任务一直卡在ACCEPTED状态

标签:memory   数据   core   manager   deploy   提交   测试数据   资料   -c   

原文:https://www.cnblogs.com/goldenSky/p/11178873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号