程序一直处于Accept状态,无法调度运行

问题描述:在现场或测试环境偶尔会出现用户提交的程序一直处于Accept状态无法调度运行的现象

问题分析:出现这种问题的原因一般有以下两种:

  1、用户程序提交的队列当前是否已达到最大可运行程序数,当达到队列maxRunningApps后,提交的程序会处于等待状态,等有程序运行完才会被调度执行

  解决方案1:等待正在运行的程序运行完或者将队列的maxRunningApps调大

  2、如果用户队列没有达到maxRunningApps,则需要看YARN给用户分配的资源是否足以运行程序,在8088的Scheduler界面,能看到每一个队列的fairshare。

  解决方案2:

  1)调整队列weight值,是队列能分配到更多的资源;

  2)修改程序AM所需要的资源量,重新提交程序;

  3)等待其他队列的程序运行完,释放资源。

 

posted @ 2019-03-30 00:36  小小程序员_sjk  阅读(1096)  评论(0编辑  收藏  举报