The minimum yarn-site.xml
configuration settings for ResourceManager
HA with automatic failover are as follows:
<property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property> <property> <name>yarn.resourcemanager.hostname.rm1</name> <value>192.168.1.9</value> </property> <property> <name>yarn.resourcemanager.hostname.rm2</name> <value>192.168.1.10</value> </property> <property> <name>yarn.resourcemanager.recovery.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> </property> <property> <name>yarn.resourcemanager.zk-address</name> <value>192.168.1.9:2181,192.168.1.10:2181</value> <description>For multiple zk services, separate them with comma</description> </property> <property> <name>yarn.resourcemanager.cluster-id</name> <value>yarn-cluster</value> </property>
Testing ResourceManager HA on a Single Node
If you would like to test ResourceManager HA on a single node (launch more than one
ResourceManager on a single node), you need to add the following settings in
yarn-site.xml
:
To enable ResourceManager "rm1" to launch:
<property> <name>yarn.resourcemanager.ha.id</name> <value>rm1</value> <description>If we want to launch more than one RM in single node, we need this configuration</description> </property>
To enable ResourceManager "rm2" to launch:
<property> <name>yarn.resourcemanager.ha.id</name> <value>rm2</value> <description>If we want to launch more than one RM in single node, we need this configuration</description> </property>
You should also explicitly set values specific to each ResourceManager for the following properties:
yarn.resourcemanager.address.<rm‐id>
yarn.resourcemanager.scheduler.address.<rm‐id>
yarn.resourcemanager.admin.address.<rm‐id>
yarn.resourcemanager.resource‐tracker.address.<rm‐id>
yarn.resourcemanager.webapp.address.<rm‐id> separately in yarn‐site.xml
For example:
<!-- RM1 Configs --> <property> <name>yarn.resourcemanager.address.rm1</name> <value>localhost:23140</value> </property> <property> <name>yarn.resourcemanager.scheduler.address.rm1</name> <value>localhost:23130</value> </property> <property> <name>yarn.resourcemanager.webapp.address.rm1</name> <value>localhost:23188</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address.rm1</name> <value>localhost:23125</value> </property> <property> <name>yarn.resourcemanager.admin.address.rm1</name> <value>localhost:23141</value> </property> <!-- RM2 configs --> <property> <name>yarn.resourcemanager.address.rm2</name> <value>localhost:33140</value> </property> <property> <name>yarn.resourcemanager.scheduler.address.rm2</name> <value>localhost:33130</value> </property> <property> <name>yarn.resourcemanager.webapp.address.rm2</name> <value>localhost:33188</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address.rm2</name> <value>localhost:33125</value> </property> <property> <name>yarn.resourcemanager.admin.address.rm2</name> <value>localhost:33141</value> </property>