[ 
https://issues.apache.org/jira/browse/MAPREDUCE-4334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Ferguson updated MAPREDUCE-4334:
---------------------------------------

    Attachment: MAPREDUCE-4334-pre2.patch

This version is ready for testing. It has the following requires:

1) Apply patch in MAPREDUCE-4351. This allows you to set 
yarn.nodemanager.containers-monitor.class to 
o.a.h.yarn.server.nodemanager.containermanager.monitor.CgroupsContainersMonitor

2) Mount the cgroups memory controller at a path of your choosing. For example:

$ sudo mount -t cgroup -o memory none /cgroups/mem

The NodeManager will detect where you have mounted the cgroups.

3) Create a cgroups hierarchy which Hadoop can use. This is most easily done 
with:

$ sudo cgcreate -a hadoop_user_name -g memory:hadoop-yarn

"hadoop-yarn" is the default hierarchy the NodeManager expects; this can be 
configured with yarn.nodemanager.cgroups.path.


that's it!

I have tested that it enforces memory limits, and reacts appropriately when the 
kernel kills processes, or when they complete successfully. It also notifies 
the user when cgroups have been mis-configured (for example, if the Hadoop user 
does not have write access to the cgroup hierarchy).

Currently, it only enforces memory limits, as per the trunk code. I am planning 
to augment the patch in MAPREDUCE-4327 to provide CPU limits to the 
ContainersMonitor. It is easy to extend this patch to any other cgroup 
controller.


thank you,
Andrew
                
> Add support for CPU isolation/monitoring of containers
> ------------------------------------------------------
>
>                 Key: MAPREDUCE-4334
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4334
>             Project: Hadoop Map/Reduce
>          Issue Type: Sub-task
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>         Attachments: MAPREDUCE-4334-pre1.patch, MAPREDUCE-4334-pre2.patch
>
>
> Once we get in MAPREDUCE-4327, it will be important to actually enforce 
> limits on CPU consumption of containers. 
> Several options spring to mind:
> # taskset (RHEL5+)
> # cgroups (RHEL6+)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to