MAPREDUCE服务 MRS-启用Yarn CGroups功能限制Container CPU使用率:配置描述

时间:2024-10-22 09:14:01

配置描述

有关如何配置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。
support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_0859.html