Hi Sam, Bryan meant the last config bit:
<property> <name>dfs.client.failover.proxy.provider.gilbert-prod</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> This is the class the client will use to perform the failover (i.e. active NN discovery). On Tue, Apr 29, 2014 at 7:37 PM, sam liu <samliuhad...@gmail.com> wrote: > Hi Bryan, > > Thanks for your detailed response! > > - 'you use a logical name for your "group of namenodes"': In your case, it > should be 'MYCLUSTER' > > - 'provide a means for the client to handle connecting to the currently > active one': Could you pls give an example? > > > > > 2014-04-29 21:57 GMT+08:00 Bryan Beaudreault <bbeaudrea...@hubspot.com>: > >> If you are using the QJM HA solution, the IP addresses of the namenodes >> should not change. Instead your clients should be connecting using the >> proper HA configurations. That is, you use a logical name for your "group >> of namenodes", and provide a means for the client to handle connecting to >> the currently active one. >> >> Example: >> >> <property> >> <name>dfs.nameservices</name> >> <value>MYCLUSTER</value> >> </property> >> >> <property> >> <name>dfs.ha.namenodes.MYCLUSTER</name> >> <value>nn1,nn2</value> >> </property> >> >> <property> >> <name>dfs.namenode.rpc-address.MYCLUSTER.nn1</name> >> <value>dnsOfNameNode1:8020</value> >> </property> >> <property> >> <name>dfs.namenode.http-address.MYCLUSTER.nn1</name> >> <value> dnsOfNameNode1:50070</value> >> </property> >> >> <property> >> <name>dfs.namenode.rpc-address.MYCLUSTER.nn2</name> >> <value> dnsOfNameNode2:8020</value> >> </property> >> <property> >> <name>dfs.namenode.http-address.MYCLUSTER.nn2</name> >> <value> dnsOfNameNode2:50070</value> >> </property> >> >> <property> >> <name>dfs.client.failover.proxy.provider.gilbert-prod</name> >> >> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> >> </property> >> >> >> On Tue, Apr 29, 2014 at 9:07 AM, sam liu <samliuhad...@gmail.com> wrote: >>> >>> Hi Experts, >>> >>> For example, at the beginning, the application will access NameNode using >>> IP of active NameNode(IP: 9.123.22.1). However, after failover, the IP of >>> active NameNode is changed to 9.123.22.2 which is the IP of previous standby >>> NameNode. In this case, application must update NameNode IP? >>> >>> Thanks! >> >> > -- Harsh J