本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言:
提交yarn
任务时,始终无法将任务提交到yarn上,并一直在打印日志:
打印的日志如下:
21/10/06 02:43:24 INFO impl.YarnClientImpl: Application submission is not finished, submitted application application_1633458210016_0364 is still in SUBMITTED
21/10/06 02:43:26 INFO impl.YarnClientImpl: Application submission is not finished, submitted application application_1633458210016_0364 is still in SUBMITTED
21/10/06 02:43:28 INFO impl.YarnClientImpl: Application submission is not finished, submitted application application_1633458210016_0364 is still in SUBMITTED
21/10/06 02:43:30 INFO impl.YarnClientImpl: Application submission is not finished, submitted application application_1633458210016_0364 is still in SUBMITTED
问题原因:
造成该问题的原因可能有:
yarn
提交的任务过多,处理不过来。resource manager
向ZooKeeper
写入太多数据并达到缓冲区限制。
我们可以通过查看yarn资源池使用情况来查看队列待定的容器数量,如果数量明显过多,将问题任务kill掉。
解决方法:
方法一:
将问题任务kill掉。
问题任务:
yarn application -kill application_id
此时可能会遇到任务无法kill掉的情况,需要将active resoucemanager 停止,然后重新kill 任务。
方法二:
增加 ZooKeeper
缓冲区限制。
此方法为网上查询,实际没有进行测试,有兴趣的同学可以测试一下。