其他
Yarn 使用 Cgroup 实现任务资源限制
点击上方蓝色字体,选择“设为星标”
本文作者:http://suo.im/5DcrnH
Linux CGroup 全称是 Linux Control Group,是 Linux 内核提供的一个用来限制进程资源使用的功能,支持如 CPU, 内存,磁盘 IO 等资源的使用限制。用户可以使用 CGroup 对单个进程或者一组进程进行精细化的资源限制,具体使用方式可以查看参考文档。
启用
1. 启用 LCE :
<property>
<name>yarn.nodemanager.container-executor.class</name>
<value>org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor<value>
</property>
<property>
<name>yarn.nodemanager.linux-container-executor.group</name>
<value>hadoop<value>
</property>
2. 启用 CGroup :
<property>
<name>yarn.nodemanager.linux-container-executor.resources-handler.class</name>
<value>org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler<value>
</property>
3. 配置 Yarn CGroup 目录:
<property>
<name>yarn.nodemanager.linux-container-executor.cgroups.hierarchy</name>
<value>/hadoop-yarn<value>
</property>
<property>
<name>yarn.nodemanager.linux-container-executor.cgroups.mount</name>
<value>false<value>
</property>
<property>
<name>yarn.nodemanager.linux-container-executor.cgroups.mount-path</name>
<value>/sys/fs/cgroup<value>
</property>
4. CPU 资源限制:
<property>
<name>yarn.nodemanager.resource.percentage-physical-cpu-limit</name>
<value>80<value>
</property>
<property>
<name>yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage</name>
<value>false<value>
</property>
<property>
<name>yarn.nodemanager.resource.count-logical-processors-as-cores</name>
<value>true<value>
</property>
注意事项
文章不错?点个【在看】吧! 👇