您的位置:首页 > 数据库

spark异常分析(一)

2017-09-05 19:20 211 查看
程序频繁出现lost executor问题,提示与某个节点无法连接,failed to connect to……

观察异常节点在集群里面的情况,如下,隔一段时间会出现网络异常



最开始,我们以为是机房网络出了问题,于是对这个节点的流量进行监控,发现如下:(该服务器的交换机端口有流量打满的情况)



观察程序运行,故障发生在大数据量的shuffle read过程,每次在这个环节会lost executor

所以还是程序的问题,spark job的shuffle数据量过大,占完了机器的带宽

准备减少单个机器的shuffle数据量,增大数据分区,让每个任务处理的数据量减少

在spark-sql中的设置如下:

spark.sql.shuffle.partitions=xxx(默认为200,根据数据情况适量增大xxx)

如果是直接操作rdd,则设置如下:

spark.default.parallelism=xxx(默认为200,根据数据情况适量增大xxx)

经过调整之后,问题没有再出现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息