参考:https://blog.csdn.net/zhanyuanlin/article/details/78799341
现象:
公司集群使用的是容量调度器,其中有个任务队列在yarn上查看,只占用了20%的资源,在其中提交的任务有50多个,全部都是pending状态
原因:
初步分析,表的小文件过多导致任务运行时间过长,资源一直不释放,
yarn的预留机制,当执行资源占用大的任务时,会向各个executor预约资源,当有资源能运行了才会去取消预约,而在集群负载过高的情况下,可能会出现极端情况:资源全部被各个任务预留,而没有一个任务在运行,形成阻塞。
解决:
任务错峰运行,小文件优化,资源申请优化