Repository: ambari Updated Branches: refs/heads/trunk d855386b9 -> bea418b75
AMBARI-14092. Set yarn.resourcemanager.proxy-user-privileges.enabled to false in yarn-site when TDE is enabled (gautam via smohanty) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bea418b7 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bea418b7 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bea418b7 Branch: refs/heads/trunk Commit: bea418b75ed3ee9b2e4fa12d29a034bdfff96b4e Parents: d855386 Author: Sumit Mohanty <[email protected]> Authored: Fri Nov 27 09:11:25 2015 -0800 Committer: Sumit Mohanty <[email protected]> Committed: Fri Nov 27 09:12:23 2015 -0800 ---------------------------------------------------------------------- .../stacks/HDP/2.3/services/stack_advisor.py | 21 +++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/bea418b7/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 a5e419a..5047e9e 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 @@ -552,6 +552,7 @@ class HDP23StackAdvisor(HDP22StackAdvisor): super(HDP23StackAdvisor, self).recommendYARNConfigurations(configurations, clusterData, services, hosts) putYarnSiteProperty = self.putProperty(configurations, "yarn-site", services) putYarnSitePropertyAttributes = self.putPropertyAttribute(configurations, "yarn-site") + servicesList = [service["StackServices"]["service_name"] for service in services["services"]] if "tez-site" not in services["configurations"]: putYarnSiteProperty('yarn.timeline-service.entity-group-fs-store.group-id-plugin-classes', '') @@ -575,6 +576,10 @@ class HDP23StackAdvisor(HDP22StackAdvisor): else: putYarnSitePropertyAttributes('yarn.authorization-provider', 'delete', 'true') + if 'RANGER_KMS' in servicesList and 'KERBEROS' in servicesList: + if 'yarn-site' in services["configurations"] and 'yarn.resourcemanager.proxy-user-privileges.enabled' in services["configurations"]["yarn-site"]["properties"]: + putYarnSiteProperty('yarn.resourcemanager.proxy-user-privileges.enabled', 'false') + def getServiceConfigurationValidators(self): parentValidators = super(HDP23StackAdvisor, self).getServiceConfigurationValidators() childValidators = { @@ -582,7 +587,8 @@ class HDP23StackAdvisor(HDP22StackAdvisor): "HIVE": {"hiveserver2-site": self.validateHiveServer2Configurations, "hive-site": self.validateHiveConfigurations}, "HBASE": {"hbase-site": self.validateHBASEConfigurations}, - "KAKFA": {"kafka-broker": self.validateKAFKAConfigurations} + "KAKFA": {"kafka-broker": self.validateKAFKAConfigurations}, + "YARN": {"yarn-site": self.validateYARNConfigurations} } self.mergeValidators(parentValidators, childValidators) return parentValidators @@ -757,6 +763,19 @@ class HDP23StackAdvisor(HDP22StackAdvisor): return self.toConfigurationValidationProblems(validationItems, "kafka-broker") + def validateYARNConfigurations(self, properties, recommendedDefaults, configurations, services, hosts): + yarn_site = properties + validationItems = [] + servicesList = [service["StackServices"]["service_name"] for service in services["services"]] + if 'RANGER_KMS' in servicesList and 'KERBEROS' in servicesList: + yarn_resource_proxy_enabled = yarn_site['yarn.resourcemanager.proxy-user-privileges.enabled'] + if yarn_resource_proxy_enabled.lower() == 'true': + validationItems.append({"config-name": 'yarn.resourcemanager.proxy-user-privileges.enabled', + "item": self.getWarnItem("If Ranger KMS service is installed set yarn.resourcemanager.proxy-user-privileges.enabled "\ + "property value as false under yarn-site" + )}) + + return self.toConfigurationValidationProblems(validationItems, "yarn-site") def isComponentUsingCardinalityForLayout(self, componentName): return componentName in ['NFS_GATEWAY', 'PHOENIX_QUERY_SERVER', 'SPARK_THRIFTSERVER']
