Hadoop cgroups和调度程序之间的区别

时间:2015-12-17 05:48:05

标签: hadoop yarn

我试图理解Hadoop中的cgroup,但无法完全理解它。它们与根据配置的规则为每个队列分配资源的调度程序有何不同?我的理解是,调度程序似乎更多地与内存相关,而组与CPU有关。我的理解是否正确?我确定我在这里遗漏了一些东西。

请任何专家指导。

由于

1 个答案:

答案 0 :(得分:3)

在Hadoop 2(YARN)中,调度程序负责为执行任务分配容器。为每个容器分配固定内存以在执行期间使用。当任务尝试使用的内存超过分配时,NodeManager将终止任务。

但是,如果任务正在使用节点中的所有可用CPU,该怎么办?在这种情况下,其他人将无法取得任何进展。因此,要控制容器的CPU使用率,可以为任务配置CGroup。这是linux内核提供的功能。

您可以在以下资源上阅读更多信息:
Managing Multiple Resources in Hadoop 2 with YARN
Using YARN with Cgroups