java.lang.Object
org.apache.hadoop.conf.Configured
org.apache.hadoop.yarn.util.ResourceCalculatorProcessTree
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.AbstractCGroupsResourceCalculator
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.CGroupsResourceCalculator
All Implemented Interfaces:
org.apache.hadoop.conf.Configurable

public class CGroupsResourceCalculator extends AbstractCGroupsResourceCalculator
A Cgroup version 1 file-system based Resource calculator without the process tree features. Warning: this implementation will not work properly when configured using the mapreduce.job.process-tree.class job property. Theoretically the ResourceCalculatorProcessTree can be configured using the mapreduce.job.process-tree.class job property, however it has a dependency on an instantiated ResourceHandlerModule, which is only initialised in the NodeManager process and not in the containers. Limitation: The ResourceCalculatorProcessTree class can be configured using the mapreduce.job.process-tree.class property within a MapReduce job. However, it is important to note that instances of ResourceCalculatorProcessTree operate within the context of a MapReduce task. This presents a limitation: these instances do not have access to the ResourceHandlerModule, which is only initialized within the NodeManager process and not within individual containers where MapReduce tasks execute. As a result, the current implementation of ResourceCalculatorProcessTree is incompatible with the mapreduce.job.process-tree.class property. This incompatibility arises because the ResourceHandlerModule is essential for managing and monitoring resource usage, and without it, the ResourceCalculatorProcessTree cannot function as intended within the confines of a MapReduce task. Therefore, any attempts to utilize this class through the mapreduce.job.process-tree.class property will not succeed under the current architecture.