Resource Management with Control Groups

To use cgroups, you must enable cgroup-based resource management under the host resource management configuration properties. However, if you configure static service pools, this property is set as part of that process.

Cgroups-based resource management can be enabled for all hosts, or on a per-host basis.
  1. If you have upgraded from a version of Cloudera Manager older than Cloudera Manager 4.5, restart every Cloudera Manager Agent before using cgroups-based resource management:
    1. Stop all services, including the Cloudera Management Service.
    2. On each cluster host, run as root:
      • RHEL-compatible 7 and higher:
        sudo service cloudera-scm-agent next_stop_hard
        sudo service cloudera-scm-agent restart
      • All other Linux distributions:
        $ sudo service cloudera-scm-agent hard_restart
        
    3. Start all services.
  2. Click the Hosts tab.
  3. Optionally click the link of the host where you want to enable cgroups.

  4. Select Category > Resource Management.
  5. Select Enable Cgroup-based Resource Management.
  6. Restart all roles on the host or hosts.
    Limitations
    • Role group and role instance override cgroup-based resource management parameters must be saved one at a time. Otherwise some of the changes that should be reflected dynamically will be ignored.
    • The role group abstraction is an imperfect fit for resource management parameters, where the goal is often to take a numeric value for a host resource and distribute it amongst running roles. The role group represents a "horizontal" slice: the same role across a set of hosts. However, the cluster is often viewed in terms of "vertical" slices, each being a combination of worker roles (such as TaskTracker, DataNode, RegionServer, Impala Daemon, and so on). Nothing in Cloudera Manager guarantees that these disparate horizontal slices are "aligned" (meaning, that the role assignment is identical across hosts). If they are unaligned, some of the role group values will be incorrect on unaligned hosts. For example a host whose role groups have been configured with memory limits but that's missing a role will probably have unassigned memory.