文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Yarn/ 启用Yarn CGroups功能限制Container CPU使用率
更新时间:2024-10-28 GMT+08:00

启用Yarn CGroups功能限制Container CPU使用率

配置场景

CGroups是一个Linux内核特性。它可以将任务集及其子集聚合或分离成具备特定行为的分层组。在YARN中,CGroups特性对容器(container)使用的资源(例如CPU使用率)进行限制。本特性大大降低了限制容器CPU使用的难度。

当前CGroups仅用于限制CPU使用率。

配置描述

有关如何配置CPU隔离与安全的CGroups功能的详细信息,请参见Hadoop官网:

MRS 3.2.0之前版本:http://hadoop.apache.org/docs/r3.1.1/hadoop-yarn/hadoop-yarn-site/NodeManagerCgroups.html

MRS 3.2.0及之后版本:https://hadoop.apache.org/docs/r3.3.1/hadoop-yarn/hadoop-yarn-site/NodeManagerCgroups.html

由于CGroups为Linux内核特性,是通过LinuxContainerExecutor进行开放。请参考官网资料对LinuxContainerExecutor进行安全配置。您可通过官网资料了解系统用户和用户组配置对应的文件系统权限。详情请参见:

MRS 3.2.0之前版本:http://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-common/SecureMode.html#LinuxContainerExecutor

MRS 3.2.0及之后版本:https://hadoop.apache.org/docs/r3.3.1/hadoop-project-dist/hadoop-common/SecureMode.html#LinuxContainerExecutor

  • 请勿修改对应文件系统中各路径所属的用户、用户组及对应的权限,否则可能导致本功能异常。
  • 当参数“yarn.nodemanager.resource.percentage-physical-cpu-limit”配置过小,导致可使用的核不足1个时,例如4核节点,将此参数设置为20%,不足1个核,那么将会使用系统全部的核。Linux的一些版本不支持Quota模式,例如Cent OS。在这种情况下,可以使用CPUset模式。

配置cpuset模式,即YARN只能使用配置的CPU,需要添加以下配置。

表1 cpuset配置

参数

描述

默认值

yarn.nodemanager.linux-container-executor.cgroups.cpu-set-usage

设置为“true”时,应用以cpuset模式运行。

false

配置strictcpuset模式,即container只能使用配置的CPU,需要添加以下配置。

表2 CPU硬隔离参数配置

参数

描述

默认值

yarn.nodemanager.linux-container-executor.cgroups.cpu-set-usage

设置为“true”时,应用以cpuset模式运行。

false

yarn.nodemanager.linux-container-executor.cgroups.cpuset.strict.enabled

设置为true时,container只能使用配置的CPU。

false

要从cpuset模式切换到Quota模式,必须遵循以下条件:

  • 配置“yarn.nodemanager.linux-container-executor.cgroups.cpu-set-usage”=“false”
  • 删除“/sys/fs/cgroup/cpuset/hadoop-yarn/”路径下container文件夹(如果存在)。
  • 删除“/sys/fs/cgroup/cpuset/hadoop-yarn/”路径下cpuset.cpus文件中设置的所有CPU。

操作步骤

  1. 登录Manager系统。选择“集群 > 待操作集群的名称 > 服务 > Yarn > 配置”,选择“全部配置”
  2. 在左侧导航栏选择“NodeManager > 自定义”,找到yarn-site.xml文件。
  3. 添加表1表2中的参数为自定义参数。

    根据配置文件与参数作用,在“yarn-site.xml”所在行“名称”列输入参数名,在“值”列输入此参数的参数值。

    单击“+”增加自定义参数。

  4. 单击“保存”,在弹出的“保存配置”窗口中确认修改参数,单击“确定”。界面提示“操作成功”,单击“完成”,配置保存成功。

    保存完成后请重新启动配置过期的Yarn服务以使配置生效。