最近在清洗数据的时候发现Hive表清洗时,通过yarn控制台发现状态是Accepted状态,Hive使用tez引擎启动时挂起,查询日志发现:
Application is added to the scheduler and is not yet activated. Skipping AM assignment as cluster resource is empty. Details : AM Partition = <DEFAULT_PARTITION>; AM Resource Request = <memory:15360, vCores:1>; Queue Resource Limit for AM = <memory:0, vCores:0>; User AM Resource Limit of the queue = <memory:0, vCores:0>; Queue AM Resource Usage = <memory:0, vCores:0>;
说明任务被提交到资源调度器,但AM申请的资源超过了上限,剩余资源不足以启动AM,所以程序处于挂起状态,不能运行。
解决方案:
调大Ambira上的AM资源百分比(maximum-am-resource-percent),但最好不超过50%。该参数代表的是运行应用程序的资源比例上限,该参数一般用于限制处于活动状态的应用程序数目。
若该方法不生效,说明不是资源分配问题导致,还可参考:https://stackoverflow.com/questions/49579156/hadoop-yarn-application-is-added-to-the-scheduler-and-is-not-yet-activated-sk 解决。