Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

Identify active YARN RM

avatar
Rising Star

Is it possible to identify active YARN ResourceManager using ZooKeeper or any other method?

1 ACCEPTED SOLUTION

avatar
Super Guru

@Nikita Kiselev,

You can also get it using Ambari REST API

http://<ambari-host>:<ambari-port>/api/v1/clusters/<cluster-name>/host_components?HostRoles/componen...

To get STANDBY RM , you can replace ha_state with STANDBY in the above URL

Thanks,

Aditya

View solution in original post

5 REPLIES 5

avatar
Super Guru

Hi @Nikita Kiselev,

You can get the active Yarn RM Id from zookeeer.

cd /usr/hdp/current/zookeeper-client/bin
./zkCli.sh -server <zk-quorum>
[zk: localhost:2181(CONNECTED) 14]: get /yarn-leader-election/<cluster-id>/ActiveStandbyElectorLock

Thanks,

Aditya

avatar
Rising Star

Thanks! Which keytab I should use to get access to this Zookepper Node (kerberized cluster)? Is it possible to use ZooKeeper Java API to get same info?

avatar
Super Guru

You can use the yarn keytab to access this . (/etc/security/keytabs/yarn.headless.keytab).

Yes, can you access this using ZK Java API as well. Check the ZK Java example here.

Also, were you able to get it using the Ambari REST API as mentioned in my another answer.

Thanks,

Aditya

avatar
Super Guru

@Nikita Kiselev,

You can also get it using Ambari REST API

http://<ambari-host>:<ambari-port>/api/v1/clusters/<cluster-name>/host_components?HostRoles/componen...

To get STANDBY RM , you can replace ha_state with STANDBY in the above URL

Thanks,

Aditya

avatar
Guru

@Nikita Kiselev, you can also use yarn cli to figure out active/stand by RM.

You can find out RM-Ids from yarn-site.xml. Look for yarn.resourcemanager.ha.rm-ids properties.

<property>
<name> yarn.resourcemanager.ha.rm-ids</name>
<value> rm1, rm2</value>
</property>

Run "yarn rmadmin -getServiceState rm1" to find out state of RM1. It will return active if RM1 is an active RM or else it will return standby. You can run same command to know rm2 status too. ( yarn rmadmin -getServiceState rm2).