您的位置:首页 > 其它

ERROR YarnScheduler: Lost executor

2016-06-13 18:40 288 查看
执行脚本出现:

15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 8 on myhost1.com: remote Rpc client disassociated
15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 6 on myhost2.com: remote Rpc client disassociated




出现此的原因就是yarn资源不够导致的。加大任务执行的资源

./spark-submit --class com.xyz.MySpark --conf "spark.executor.extraJavaOptions=-XX:MaxPermSize=512M" --driver-java-options -XX:MaxPermSize=512m --driver-memory 3g --master yarn-client --executor-memory 2G --executor-cores 8 --num-executors 12  /home/myuser/myspark-1.0.jar

改成

./spark-submit --class com.xyz.MySpark --conf "spark.executor.extraJavaOptions=-XX:MaxPermSize=1024M" --driver-java-options -XX:MaxPermSize=1024m --driver-memory 4g --master yarn-client --executor-memory 2G --executor-cores 8 --num-executors 15  /home/myuser/myspark-1.0.jar


Spark job运行参数优化

一般Spark Job很多问题都是来源于系统资源不够用,通过监控日志等判断是内存资源占用过高等导致的问题,因此尝试通过配置参数的方法来解决。 

1、--conf spark.akka.frameSize=100

此参数控制Spark中通信消息的最大容量(如task的输出结果),默认为10M,当处理大数据时,task的输出可能会大于这个值,需要根据实际数据设置一个更高的值。 

2、--conf spark.yarn.executor.memoryOverhead=4096

executor堆外内存设置,如果程序使用了大量的堆外内存,就该增大此配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spark yarn