【发布时间】:2015-12-17 15:04:31
【问题描述】:
我正在尝试了解 Hadoop 中的 cgroup,但无法完全理解。它们与根据配置的规则为每个队列分配资源的调度程序有何不同?我的理解是调度程序似乎更多地与内存相关,而组与 CPU 相关。我的理解正确吗?我确定我在这里遗漏了一些东西。
请任何专家指导。
谢谢
【问题讨论】:
标签: hadoop hadoop-yarn
我正在尝试了解 Hadoop 中的 cgroup,但无法完全理解。它们与根据配置的规则为每个队列分配资源的调度程序有何不同?我的理解是调度程序似乎更多地与内存相关,而组与 CPU 相关。我的理解正确吗?我确定我在这里遗漏了一些东西。
请任何专家指导。
谢谢
【问题讨论】:
标签: hadoop hadoop-yarn
在 Hadoop 2 (YARN) 中,调度程序负责分配容器以执行任务。每个容器都分配有固定内存以在执行期间使用。当一个任务尝试使用比分配更多的内存时,NodeManager 将终止该任务。
但是如果任务正在使用节点中所有可用的 CPU 怎么办。在这种情况下,其他人将无法取得任何进展。所以要控制容器的CPU使用率,你可以给任务配置CGroup。这是linux内核提供的功能。
您可以通过以下资源了解更多信息:
Managing Multiple Resources in Hadoop 2 with YARN
Using YARN with Cgroups
【讨论】: