Repository: ambari Updated Branches: refs/heads/trunk 41abdbb01 -> 3c12461db
AMBARI-16286 MapReduce service check failed on most of the Kerberos tests (dsen) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3c12461d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3c12461d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3c12461d Branch: refs/heads/trunk Commit: 3c12461dbc4739187f6fa20087df41b51dadb342 Parents: 41abdbb Author: Dmytro Sen <[email protected]> Authored: Fri May 6 19:36:41 2016 +0300 Committer: Dmytro Sen <[email protected]> Committed: Fri May 6 19:36:41 2016 +0300 ---------------------------------------------------------------------- .../services/YARN/configuration/yarn-site.xml | 4 ++ .../stacks/HDP/2.2/services/stack_advisor.py | 9 +++- .../stacks/HDP/2.3/services/stack_advisor.py | 49 ++++++++++---------- .../stacks/2.2/common/test_stack_advisor.py | 5 ++ 4 files changed, 42 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/3c12461d/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 ee12ba3..905383a 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 @@ -455,6 +455,10 @@ <type>yarn-env</type> <name>yarn_cgroups_enabled</name> </property> + <property> + <type>core-site</type> + <name>hadoop.security.authentication</name> + </property> </depends-on> </property> <property> http://git-wip-us.apache.org/repos/asf/ambari/blob/3c12461d/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 d6bc713..61fc1f0 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 @@ -78,6 +78,12 @@ class HDP22StackAdvisor(HDP21StackAdvisor): putYarnPropertyAttribute('yarn.scheduler.maximum-allocation-vcores', 'maximum', services["configurations"]["yarn-site"]["properties"]["yarn.nodemanager.resource.cpu-vcores"]) putYarnPropertyAttribute('yarn.scheduler.minimum-allocation-vcores', 'maximum', services["configurations"]["yarn-site"]["properties"]["yarn.nodemanager.resource.cpu-vcores"]) + kerberos_authentication_enabled = False + if "core-site" in services["configurations"] and "hadoop.security.authentication" in services["configurations"]["core-site"]["properties"]: + if services["configurations"]["core-site"]["properties"]["hadoop.security.authentication"].lower() == "kerberos" : + kerberos_authentication_enabled = True + putYarnProperty('yarn.nodemanager.container-executor.class', 'org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor') + if "yarn-env" in services["configurations"] and "yarn_cgroups_enabled" in services["configurations"]["yarn-env"]["properties"]: yarn_cgroups_enabled = services["configurations"]["yarn-env"]["properties"]["yarn_cgroups_enabled"].lower() == "true" if yarn_cgroups_enabled: @@ -88,7 +94,8 @@ class HDP22StackAdvisor(HDP21StackAdvisor): putYarnProperty('yarn.nodemanager.container-executor.cgroups.mount', 'true') putYarnProperty('yarn.nodemanager.linux-container-executor.cgroups.mount-path', '/cgroup') else: - putYarnProperty('yarn.nodemanager.container-executor.class', 'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor') + 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') http://git-wip-us.apache.org/repos/asf/ambari/blob/3c12461d/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py index e44a9d7..73e9044 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py @@ -626,32 +626,33 @@ class HDP23StackAdvisor(HDP22StackAdvisor): putStormStartupProperty = self.putProperty(configurations, "storm-site", services) servicesList = [service["StackServices"]["service_name"] for service in services["services"]] - # atlas - notifier_plugin_property = "storm.topology.submission.notifier.plugin.class" - if notifier_plugin_property in services["configurations"]["storm-site"]["properties"]: - notifier_plugin_value = services["configurations"]["storm-site"]["properties"][notifier_plugin_property] - if notifier_plugin_value is None: - notifier_plugin_value = " " - else: - notifier_plugin_value = " " - - include_atlas = "ATLAS" in servicesList - atlas_hook_class = "org.apache.atlas.storm.hook.StormAtlasHook" - if include_atlas and atlas_hook_class not in notifier_plugin_value: - if notifier_plugin_value == " ": - notifier_plugin_value = atlas_hook_class - else: - notifier_plugin_value = notifier_plugin_value + "," + atlas_hook_class - if not include_atlas and atlas_hook_class in notifier_plugin_value: - application_classes = [] - for application_class in notifier_plugin_value.split(","): - if application_class != atlas_hook_class and application_class != " ": - application_classes.append(application_class) - if application_classes: - notifier_plugin_value = ",".join(application_classes) + if "storm-site" in services["configurations"]: + # atlas + notifier_plugin_property = "storm.topology.submission.notifier.plugin.class" + if notifier_plugin_property in services["configurations"]["storm-site"]["properties"]: + notifier_plugin_value = services["configurations"]["storm-site"]["properties"][notifier_plugin_property] + if notifier_plugin_value is None: + notifier_plugin_value = " " else: notifier_plugin_value = " " - putStormStartupProperty(notifier_plugin_property, notifier_plugin_value) + + include_atlas = "ATLAS" in servicesList + atlas_hook_class = "org.apache.atlas.storm.hook.StormAtlasHook" + if include_atlas and atlas_hook_class not in notifier_plugin_value: + if notifier_plugin_value == " ": + notifier_plugin_value = atlas_hook_class + else: + notifier_plugin_value = notifier_plugin_value + "," + atlas_hook_class + if not include_atlas and atlas_hook_class in notifier_plugin_value: + application_classes = [] + for application_class in notifier_plugin_value.split(","): + if application_class != atlas_hook_class and application_class != " ": + application_classes.append(application_class) + if application_classes: + notifier_plugin_value = ",".join(application_classes) + else: + notifier_plugin_value = " " + putStormStartupProperty(notifier_plugin_property, notifier_plugin_value) def recommendFalconConfigurations(self, configurations, clusterData, services, hosts): http://git-wip-us.apache.org/repos/asf/ambari/blob/3c12461d/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 c48b2c7..d22b453 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 @@ -3427,6 +3427,11 @@ class TestHDP22StackAdvisor(TestCase): "properties": { "yarn_cgroups_enabled": "true" } + }, + "core-site": { + "properties": { + "hadoop.security.authentication": "" + } } } }
