gpt4 book ai didi

hadoop - hadoop公平调度程序和容量调度程序均未按预期进行调度

转载 作者:行者123 更新时间:2023-12-02 21:46:20 25 4
gpt4 key购买 nike

我使用CDH5.1.0(hadoop 2.3.0)。 2个名称节点(2个32GB RAM,2个内核)和3个数据节点(3个16GB RAM,2个内核)

我正在从默认队列中的单个用户计划mapreduce作业(没有其他用户,也没有配置其他队列)。

使用容量调度程序时,会发生以下情况:我能够提交多个作业,但是只有两个作业正在并行执行(状态为“运行中”)。

使用公平调度程序时,会发生以下情况:我正在提交多个作业,并且集群/调度程序将4个作业设置为“正在运行”状态。这些工作将永远保持5%的进度。如果单个作业被杀死,新作业将再次以5%的状态设置为“运行中”,并且没有进一步的进展。只有在少于4个作业且没有其他作业提交到队列之后,作业才开始执行。

我已经多次重新配置了集群,但是在使用容量计划程序时却无法增加正在运行的作业的数量,或者在使用公平的计划程序时却无法避免作业的中断

我的问题是-如何配置群集/ yarn /调度程序/动态和静态资源池以使调度工作?

以下是一些配置参数:

yarn.scheduler.minimum-allocation-mb = 2GB
yarn.scheduler.maximum-allocation-mb = 12GB
yarn.scheduler.minimum-allocation-vcores = 1
yarn.scheduler.maximum-allocation-vcores = 2
yarn.nodemanager.resource.memory-mb = 12GB
yarn.nodemanager.resource.cpu-vcores = 2
mapreduce.map.memory.mb = 12GB
mapreduce.reduce.memory.mb = 12GB
mapreduce.map.java.opts.max.heap = 9.6GB
mapreduce.reduce.java.opts.max.heap = 9.6GB
yarn.app.mapreduce.am.resource.mb = 12GB
ApplicationMaster Java Maximum Heap Size = 788MB
mapreduce.task.io.sort.mb = 1GB

我为静态和动态资源池保留了默认设置(cloudera)(例如,“正在运行的应用程序的最大设置”为空)

最佳答案

不是解决方案,但可能的解决方法

在某个时候,我们与MapR咨询公司的Christian Neundorf讨论了这个问题,他声称FairScheduler中存在死锁错误(不是CDH特定,而是标准hadoop!)。

他提出了这种解决方案,但是我不记得我们是否尝试过。请您自担风险,我不保证该方法会真正起作用,并且仅将其发布给真正渴望并愿意尝试使您的应用程序正常运行的那些人:

在yarn-site.xml中(不知道为什么必须设置)

<property>
<name>yarn.scheduler.fair.user-as-default-queue</name>
<value>false</value>
<description>Disable username for default queue </description>
</property>

在fair-scheduler.xml中
<allocations>
<queue name="default">
<!-- you set an integer value here which is number of the cores at your disposal minus one (or more) -->
<maxRunningApps>number of cores - 1</maxRunningApps>
</queue>
</allocations>

关于hadoop - hadoop公平调度程序和容量调度程序均未按预期进行调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com