Hadoop cgroups 和调度器之间的区别

Difference between Hadoop cgroups and schedulers

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

请高手指点。

谢谢

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

但是如果任务正在使用节点中可用的所有 CPU 怎么办。那样的话,其他人将无法取得任何进展。所以要控制容器的 CPU 用法,你可以配置 CGroup 到任务。这是 linux 内核提供的功能。

您可以在以下资源中阅读更多内容:
Managing Multiple Resources in Hadoop 2 with YARN
Using YARN with Cgroups