in bigtop-packages/src/charm/hadoop/layer-hadoop-resourcemanager/reactive/resourcemanager.py [0:0]
def start_resourcemanager(namenode):
hookenv.status_set('maintenance', 'starting resourcemanager')
# NB: service should be started by install, but we want to verify it is
# running before we set the .started state and open ports. We always
# restart here, which may seem heavy-handed. However, restart works
# whether the service is currently started or stopped. It also ensures the
# service is using the most current config.
rm_started = host.service_restart('hadoop-yarn-resourcemanager')
if rm_started:
for port in get_layer_opts().exposed_ports('resourcemanager'):
hookenv.open_port(port)
set_state('apache-bigtop-resourcemanager.started')
hookenv.status_set('maintenance', 'resourcemanager started')
hookenv.application_version_set(get_hadoop_version())
else:
hookenv.log('YARN ResourceManager failed to start')
hookenv.status_set('blocked', 'resourcemanager failed to start')
remove_state('apache-bigtop-resourcemanager.started')
for port in get_layer_opts().exposed_ports('resourcemanager'):
hookenv.close_port(port)
hs_started = host.service_restart('hadoop-mapreduce-historyserver')
if not hs_started:
hookenv.log('YARN HistoryServer failed to start')