Repository: ambari Updated Branches: refs/heads/branch-2.5 0a9ae7544 -> acedae5fe
AMBARI-19311. Port AMBARI-16907 issue to branch 2.5 (issue with yarn.nodemanager.linux-container-executor.cgroups.mount-path) (dgrinenko via dlysnichenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/acedae5f Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/acedae5f Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/acedae5f Branch: refs/heads/branch-2.5 Commit: acedae5fe2de4bfdefcec7a4519dcf4ee0d42ed5 Parents: 0a9ae75 Author: Lisnichenko Dmitro <dlysniche...@hortonworks.com> Authored: Thu Dec 29 17:02:28 2016 +0200 Committer: Lisnichenko Dmitro <dlysniche...@hortonworks.com> Committed: Thu Dec 29 17:02:28 2016 +0200 ---------------------------------------------------------------------- .../services/YARN/configuration/yarn-site.xml | 30 ++++++++++++ .../stacks/HDP/2.2/services/stack_advisor.py | 14 +++--- .../stacks/2.2/common/test_stack_advisor.py | 50 ++++++++++---------- 3 files changed, 61 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/acedae5f/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/configuration/yarn-site.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/configuration/yarn-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/configuration/yarn-site.xml index f68f0fe..fcd9380 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/configuration/yarn-site.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/configuration/yarn-site.xml @@ -187,18 +187,48 @@ <name>yarn.nodemanager.linux-container-executor.resources-handler.class</name> <value>org.apache.hadoop.yarn.server.nodemanager.util.DefaultLCEResourcesHandler</value> <description>Pre-requisite to use CGroups</description> + <depends-on> + <property> + <type>yarn-env</type> + <name>yarn_cgroups_enabled</name> + </property> + </depends-on> <on-ambari-upgrade add="true"/> </property> <property> <name>yarn.nodemanager.linux-container-executor.cgroups.hierarchy</name> <value>hadoop-yarn</value> <description>Name of the Cgroups hierarchy under which all YARN jobs will be launched</description> + <depends-on> + <property> + <type>yarn-env</type> + <name>yarn_cgroups_enabled</name> + </property> + </depends-on> <on-ambari-upgrade add="true"/> </property> <property> <name>yarn.nodemanager.linux-container-executor.cgroups.mount</name> <value>false</value> <description>If true, YARN will automount the CGroup, however the directory needs to already exist; else, the cgroup should be mounted by the admin</description> + <depends-on> + <property> + <type>yarn-env</type> + <name>yarn_cgroups_enabled</name> + </property> + </depends-on> + <on-ambari-upgrade add="true"/> + </property> + <property> + <name>yarn.nodemanager.linux-container-executor.cgroups.mount-path</name> + <value>/cgroup</value> + <description>Path used by the LCE to mount cgroups if not found. This path must exist before the NodeManager is launched.</description> + <depends-on> + <property> + <type>yarn-env</type> + <name>yarn_cgroups_enabled</name> + </property> + </depends-on> <on-ambari-upgrade add="true"/> </property> <property> http://git-wip-us.apache.org/repos/asf/ambari/blob/acedae5f/ambari-server/src/main/resources/stacks/HDP/2.2/services/stack_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.2/services/stack_advisor.py index 3789a16..6ae10b3 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/services/stack_advisor.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/services/stack_advisor.py @@ -120,17 +120,17 @@ class HDP22StackAdvisor(HDP21StackAdvisor): yarn_cgroups_enabled = services["configurations"]["yarn-env"]["properties"]["yarn_cgroups_enabled"].lower() == "true" if yarn_cgroups_enabled: putYarnProperty('yarn.nodemanager.container-executor.class', 'org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor') - putYarnProperty('yarn.nodemanager.container-executor.group', 'hadoop') - putYarnProperty('yarn.nodemanager.container-executor.resources-handler.class', 'org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler') - putYarnProperty('yarn.nodemanager.container-executor.cgroups.hierarchy', ' /yarn') - putYarnProperty('yarn.nodemanager.container-executor.cgroups.mount', 'true') + putYarnProperty('yarn.nodemanager.linux-container-executor.group', 'hadoop') + putYarnProperty('yarn.nodemanager.linux-container-executor.resources-handler.class', 'org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler') + putYarnProperty('yarn.nodemanager.linux-container-executor.cgroups.hierarchy', '/yarn') + putYarnProperty('yarn.nodemanager.linux-container-executor.cgroups.mount', 'true') putYarnProperty('yarn.nodemanager.linux-container-executor.cgroups.mount-path', '/cgroup') else: if not kerberos_authentication_enabled: putYarnProperty('yarn.nodemanager.container-executor.class', 'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor') - putYarnPropertyAttribute('yarn.nodemanager.container-executor.resources-handler.class', 'delete', 'true') - putYarnPropertyAttribute('yarn.nodemanager.container-executor.cgroups.hierarchy', 'delete', 'true') - putYarnPropertyAttribute('yarn.nodemanager.container-executor.cgroups.mount', 'delete', 'true') + putYarnPropertyAttribute('yarn.nodemanager.linux-container-executor.resources-handler.class', 'delete', 'true') + putYarnPropertyAttribute('yarn.nodemanager.linux-container-executor.cgroups.hierarchy', 'delete', 'true') + putYarnPropertyAttribute('yarn.nodemanager.linux-container-executor.cgroups.mount', 'delete', 'true') putYarnPropertyAttribute('yarn.nodemanager.linux-container-executor.cgroups.mount-path', 'delete', 'true') # recommend hadoop.registry.rm.enabled based on SLIDER in services servicesList = [service["StackServices"]["service_name"] for service in services["services"]] http://git-wip-us.apache.org/repos/asf/ambari/blob/acedae5f/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py b/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py index 0d89918..d37c5a4 100644 --- a/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py +++ b/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py @@ -3783,23 +3783,22 @@ class TestHDP22StackAdvisor(TestCase): "yarn-site": { "properties": { "yarn.nodemanager.linux-container-executor.group": "hadoop", - "yarn.nodemanager.container-executor.group": "hadoop", - "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor", - "yarn.nodemanager.linux-container-executor.cgroups.mount-path": "/cgroup", - "yarn.nodemanager.container-executor.cgroups.mount": "true", "yarn.nodemanager.resource.memory-mb": "43008", "yarn.scheduler.minimum-allocation-mb": "14336", "yarn.scheduler.maximum-allocation-vcores": "4", "yarn.scheduler.minimum-allocation-vcores": "1", "yarn.nodemanager.resource.cpu-vcores": "4", - "yarn.nodemanager.container-executor.cgroups.hierarchy": " /yarn", "yarn.scheduler.maximum-allocation-mb": "43008", - "yarn.nodemanager.container-executor.resources-handler.class": "org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler", - "hadoop.registry.rm.enabled": "false", "yarn.timeline-service.leveldb-state-store.path": "/hadoop/yarn/timeline", "yarn.timeline-service.leveldb-timeline-store.path": "/hadoop/yarn/timeline", + "yarn.nodemanager.log-dirs": "/hadoop/yarn/log", + "yarn.nodemanager.linux-container-executor.cgroups.mount": "true", + "hadoop.registry.rm.enabled": "false", + "yarn.nodemanager.linux-container-executor.cgroups.hierarchy": "/yarn", + "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor", "yarn.nodemanager.local-dirs": "/hadoop/yarn/local", - "yarn.nodemanager.log-dirs": "/hadoop/yarn/log" + "yarn.nodemanager.linux-container-executor.cgroups.mount-path": "/cgroup", + "yarn.nodemanager.linux-container-executor.resources-handler.class": "org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler" }, "property_attributes": { "yarn.scheduler.minimum-allocation-vcores": { @@ -3843,35 +3842,25 @@ class TestHDP22StackAdvisor(TestCase): }, "yarn-site": { "properties": { - "yarn.nodemanager.container-executor.group": "hadoop", - "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor", - "yarn.nodemanager.linux-container-executor.cgroups.mount-path": "/cgroup", "yarn.nodemanager.linux-container-executor.group": "hadoop", - "yarn.nodemanager.container-executor.cgroups.mount": "true", "yarn.nodemanager.resource.memory-mb": "43008", "yarn.scheduler.minimum-allocation-mb": "14336", "yarn.scheduler.maximum-allocation-vcores": "4", "yarn.scheduler.minimum-allocation-vcores": "1", "yarn.nodemanager.resource.cpu-vcores": "4", - "yarn.nodemanager.container-executor.cgroups.hierarchy": " /yarn", "yarn.scheduler.maximum-allocation-mb": "43008", - "yarn.nodemanager.container-executor.resources-handler.class": "org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler", - "hadoop.registry.rm.enabled": "false", "yarn.timeline-service.leveldb-state-store.path": "/hadoop/yarn/timeline", "yarn.timeline-service.leveldb-timeline-store.path": "/hadoop/yarn/timeline", + "yarn.nodemanager.log-dirs": "/hadoop/yarn/log", + "yarn.nodemanager.linux-container-executor.cgroups.mount": "true", + "hadoop.registry.rm.enabled": "false", + "yarn.nodemanager.linux-container-executor.cgroups.hierarchy": "/yarn", + "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor", "yarn.nodemanager.local-dirs": "/hadoop/yarn/local", - "yarn.nodemanager.log-dirs": "/hadoop/yarn/log" + "yarn.nodemanager.linux-container-executor.cgroups.mount-path": "/cgroup", + "yarn.nodemanager.linux-container-executor.resources-handler.class": "org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler" }, "property_attributes": { - "yarn.nodemanager.container-executor.cgroups.mount": { - "delete": "true" - }, - "yarn.nodemanager.container-executor.cgroups.hierarchy": { - "delete": "true" - }, - "yarn.nodemanager.linux-container-executor.cgroups.mount-path": { - "delete": "true" - }, "yarn.scheduler.minimum-allocation-vcores": { "maximum": "4" }, @@ -3890,7 +3879,16 @@ class TestHDP22StackAdvisor(TestCase): "yarn.scheduler.maximum-allocation-mb": { "maximum": "43008" }, - "yarn.nodemanager.container-executor.resources-handler.class": { + "yarn.nodemanager.linux-container-executor.cgroups.mount": { + "delete": "true" + }, + "yarn.nodemanager.linux-container-executor.cgroups.hierarchy": { + "delete": "true" + }, + "yarn.nodemanager.linux-container-executor.cgroups.mount-path": { + "delete": "true" + }, + "yarn.nodemanager.linux-container-executor.resources-handler.class": { "delete": "true" } }