Repository: ambari Updated Branches: refs/heads/trunk 9919961cc -> 12008010a
AMBARI-20469. Add a new property to yarn-site.xml yarn.log.server.web-service.url (Madhuvanthi Radhakrishnan via alejandro) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/12008010 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/12008010 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/12008010 Branch: refs/heads/trunk Commit: 12008010a2ec12d87190c7b97f63459d97f9ea96 Parents: 9919961 Author: Alejandro Fernandez <afernan...@hortonworks.com> Authored: Thu Mar 16 17:34:36 2017 -0700 Committer: Alejandro Fernandez <afernan...@hortonworks.com> Committed: Thu Mar 16 17:34:36 2017 -0700 ---------------------------------------------------------------------- .../YARN/3.0.0.3.0/configuration/yarn-site.xml | 20 +++++++++++ .../YARN/3.0.0.3.0/service_advisor.py | 36 ++++++++++++++++++++ 2 files changed, 56 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/12008010/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/configuration/yarn-site.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/configuration/yarn-site.xml b/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/configuration/yarn-site.xml index dd5e9a4..4fbd1e6 100644 --- a/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/configuration/yarn-site.xml +++ b/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/configuration/yarn-site.xml @@ -1106,6 +1106,26 @@ yarn.node-labels.manager-class <on-ambari-upgrade add="false"/> </property> <property> + <name>yarn.log.server.web-service.url</name> + <value>http://localhost:8188/ws/v1/applicationhistory</value> + <description>Log Server Web Service URL.</description> + <depends-on> + <property> + <type>yarn-site</type> + <name>yarn.http.policy</name> + </property> + <property> + <type>yarn-site</type> + <name>yarn.resourcemanager.webapp.address</name> + </property> + <property> + <type>yarn-site</type> + <name>yarn.resourcemanager.webapp.https.address</name> + </property> + </depends-on> + <on-ambari-upgrade add="false"/> + </property> + <property> <name>yarn.timeline-service.entity-group-fs-store.cleaner-interval-seconds</name> <description> Scan interval for ATS v1.5 entity group file system storage cleaner.This http://git-wip-us.apache.org/repos/asf/ambari/blob/12008010/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py b/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py index 4fdf84f..16d5bbc 100644 --- a/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py +++ b/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py @@ -462,6 +462,25 @@ class YARNRecommender(service_advisor.ServiceAdvisor): else: ranger_yarn_plugin_enabled = False + #yarn timeline service url depends on http policy and takes the host name of the yarn webapp. + if "yarn-site" in services["configurations"] and \ + "yarn.http.policy" in services["configurations"]["yarn-site"]["properties"] and \ + "yarn.log.server.web-service.url" in services["configurations"]["yarn-site"]["properties"]: + webservice_url = '' + if services["configurations"]["yarn-site"]["properties"]["yarn.http.policy"] == 'HTTP_ONLY': + if "yarn.timeline-service.webapp.address" in services["configurations"]["yarn-site"]["properties"]: + webapp_address = services["configurations"]["yarn-site"]["properties"]["yarn.timeline-service.webapp.address"] + webservice_url = "http://"+webapp_address+"/ws/v1/applicationhistory" + else: + Logger.error("Required config yarn.timeline-service.webapp.address in yarn-site does not exist. Unable to set yarn.log.server.web-service.url") + else: + if "yarn.timeline-service.webapp.https.address" in services["configurations"]["yarn-site"]["properties"]: + webapp_address = services["configurations"]["yarn-site"]["properties"]["yarn.timeline-service.webapp.https.address"] + webservice_url = "https://"+webapp_address+"/ws/v1/applicationhistory" + else: + Logger.error("Required config yarn.timeline-service.webapp.https.address in yarn-site does not exist. Unable to set yarn.log.server.web-service.url") + putYarnSiteProperty('yarn.log.server.web-service.url',webservice_url ) + if ranger_yarn_plugin_enabled and 'ranger-yarn-plugin-properties' in services['configurations'] and 'REPOSITORY_CONFIG_USERNAME' in services['configurations']['ranger-yarn-plugin-properties']['properties']: Logger.info("Setting Yarn Repo user for Ranger.") putRangerYarnPluginProperty = self.putProperty(configurations, "ranger-yarn-plugin-properties", services) @@ -1693,6 +1712,7 @@ class YARNValidator(service_advisor.ServiceAdvisor): self.validators = [("yarn-site", self.validateYARNSiteConfigurationsFromHDP206), ("yarn-site", self.validateYARNSiteConfigurationsFromHDP25), + ("yarn-ste" , self.validateYarnSiteConfigurationsFromHDP26), ("yarn-env", self.validateYARNEnvConfigurationsFromHDP206), ("yarn-env", self.validateYARNEnvConfigurationsFromHDP22), ("ranger-yarn-plugin-properties", self.validateYARNRangerPluginConfigurationsFromHDP22)] @@ -1749,6 +1769,22 @@ class YARNValidator(service_advisor.ServiceAdvisor): validationProblems = self.toConfigurationValidationProblems(validationItems, "yarn-site") return validationProblems + def validateYarnSiteConfigurationsFromHDP26(self, properties, recommendedDefaults, configurations, services, hosts): + validationItems = [] + siteProperties = services["configurations"]["yarn-site"]["properties"] + if services["configurations"]["yarn-site"]["properties"]["yarn.http.policy"] == 'HTTP_ONLY': + webapp_address = services["configurations"]["yarn-site"]["properties"]["yarn.timeline-service.webapp.address"] + propertyValue = "http://"+webapp_address+"/ws/v1/applicationhistory" + else: + webapp_address = services["configurations"]["yarn-site"]["properties"]["yarn.timeline-service.webapp.https.address"] + propertyValue = "https://"+webapp_address+"/ws/v1/applicationhistory" + Logger.info("validateYarnSiteConfigurations: recommended value for webservice url"+services["configurations"]["yarn-site"]["properties"]["yarn.log.server.web-service.url"]) + if services["configurations"]["yarn-site"]["properties"]["yarn.log.server.web-service.url"] != propertyValue: + validationItems = [ + {"config-name": "yarn.log.server.web-service.url", + "item": self.getWarnItem("Value should be %s" % propertyValue)}] + return self.toConfigurationValidationProblems(validationItems, "yarn-site") + def validateYARNEnvConfigurationsFromHDP206(self, properties, recommendedDefaults, configurations, services, hosts): """ This was copied from HDP 2.0.6; validate yarn-env