When running the YARN service check in a Resource Manager HA environment you see that the service check fails - all other functionality is working correctly (restart of services, running jobs etc)
When you run the service check you see:
stderr: /var/lib/ambari-agent/data/errors-392.txt
Traceback (most recent call last):
File "/var/lib/ambari-agent/cache/common-services/YARN/2.1.0.2.0/package/scripts/service_check.py", line 159, in <module>
ServiceCheck().execute()
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 280, in execute
method(env)
File "/var/lib/ambari-agent/cache/common-services/YARN/2.1.0.2.0/package/scripts/service_check.py", line 130, in service_check
info_app_url = params.scheme + "://" + rm_webapp_address + "/ws/v1/cluster/apps/" + application_name
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/config_dictionary.py", line 73, in __getattr__
raise Fail("Configuration parameter '" + self.name + "' was not found in configurations dictionary!")
resource_management.core.exceptions.Fail: Configuration parameter 'yarn.resourcemanager.webapp.address.' was not found in configurations dictionary!
Notice the . at the end of the parameter - yarn.resourcemanager.webapp.address.
This is a result of having:
yarn.resourcemanager.ha.rm-ids set to rm1,rm2, (notice the comma at the end)
This leads to the scripts in ambari putting these values into an array for checking where {{rm_alias}} is set for rm1, rm2 and then a blank value.
To fix this issue you must remove the trailing , in the configuration value for this property.
After removing this and restarting YARN, the service check will pass