开发者社区> 问答> 正文

E-MapReduce yarn队列设置了maximum-am-resource-percen...

已解决

E-MapReduce yarn队列设置了maximum-am-resource-percent参数但是无法进行资源超用

展开
收起
提个问题! 2024-07-29 10:01:19 40 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答

    问题描述:

    yarn队列设置了如下2个参数:

    (1)root.hive队列的保障资源:yarn.scheduler.capacity.root.hive.capacity=60,

    (2)root.hive队列的最大资源:

    yarn.scheduler.capacity.root.hive.maximum-capacity=90

    但是提交任务时,当任务资源使用率超过保证资源的60%后,会提示如下打印:

    Application is Activated, waiting for resources to be assigned for AM. User capacity has reached its maximum limit.

    Queue's Absolute capacity = 60.000004 % ; Queue's Absolute used capacity = 60.196877 % ; Queue's Absolute max capacity = 90.0 %

    导致任务无法执行,一直处于accepted状态

    解决方案:

    1、虽然yarn capacity_scheduler设置了如下2个参数(A<B),目的是期望当任务的资源使用超过保障资源上限时,还可以继续执行任务,直到达到最大资源上限。

    (1)yarn.scheduler.capacity.<queue_path>.capacity=A

    (2)yarn.scheduler.capacity.<queue_path>.maximum-capacity=B

    但是当yarn队列中只有单个用户,还需要设置如下2参数才可以实现资源超用。

    ① yarn.scheduler.capacity.<queue_path>.user-limit-factor

    该参数指定队列内单个用户的资源上限因子,队列内单个用户最大可用资源=min(队列最大资源, 队列保障资源 * userLimitFactor),默认值:1.0,可调大为2

    ② yarn.scheduler.capacity.<queue_path>.minimum-user-limit-percent

    该参数指定队列内单个用户的最小资源比例(相对于队列保障资源),队列内单个用户的资源限制=max(队列保障资源/用户数, 队列保障资源 * minimumUserLimitPercent / 100), 默认值:100,可调大为200

    2024-07-29 10:01:21
    赞同 7 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
深度学习+大数据 TensorFlow on Yarn 立即下载
Docker on Yarn 微服务实践 立即下载
深度学习+大数据-TensorFlow on Yarn 立即下载