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
我想了解 Hadoop 中的 cgroups,但无法完全理解。它们与根据配置规则为每个队列分配资源的调度程序有何不同?我的理解是,调度程序似乎更多地与内存相关,因为组与 CPU 有关。我的理解正确吗?我确定我在这里遗漏了一些东西。
请高手指点。
谢谢
在 Hadoop 2 (YARN) 中,调度程序负责为任务的执行分配容器。每个容器都分配有固定内存以在执行期间使用。当任务尝试使用比分配的内存更多的内存时,NodeManager
将终止该任务。
但是如果任务正在使用节点中可用的所有 CPU 怎么办。那样的话,其他人将无法取得任何进展。所以要控制容器的 CPU 用法,你可以配置 CGroup
到任务。这是 linux 内核提供的功能。
您可以在以下资源中阅读更多内容:
Managing Multiple Resources in Hadoop 2 with YARN
Using YARN with Cgroups