提高spark任务稳定性的解决方案及Blacklist 机制说明解释

分布式集群中,特别是高负载的情况下,就会引发很多意想不到的问题,例如:
1、坏盘/硬盘满将会导致 /path/to/usercache 目录创建失败,一个stage中任务失败次数达到一定次数(spark.task.maxFailures)会导致整个job失败。
2、executor 注册 external shuffle service 超时。
3、executor 从 external shuffle service 获取数据超时,task 反复失败后导致了整 个stage 的失败。
4、环境依赖问题,例如 xxx 包不存在, xxx 包没有安装。
5、dns 没有配置,网络不通
...

为什么 task 失败后还会被 schedular 重新调度在原来的 node 或是 executor上
数据本地性(spark会优先把task调度在有相应数据的节点上)导致。
是否只能听天由命,每次失败后重新调度? 如果任务有SLA的限制怎么办?

spark 2.1 中增加了 blacklist 机制,当前(2.3.0)还是

猜你喜欢

转载自blog.csdn.net/as4589sd/article/details/104194495
今日推荐