[ 
https://issues.apache.org/jira/browse/HDFS-13214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16383074#comment-16383074
 ] 

Yiqun Lin commented on HDFS-13214:
----------------------------------

Hi [~Tao Jie], I just looked into the related logic of this. Looks like the 
Router wants to monitor its local node but doesn't find the right nsId.
{quote}
we configure dfs.nameservice.id
{quote}
I'm think this way can fix this issue. You may configure like following:
{noformat}
<property>
<name>dfs.nameservice.id</name>
<value>ns-fed</value>
</property>
{noformat}
Not so sure if this also makes sense in HA mode.

[~elgoiri], some thoughts getting from this, there are two things we may need 
to complete.

# We would document more details of setting up the RBF env, including HA or 
not-HA mode, and which settings must be configured. This will help the users to 
use RBF.
# We may need to add the unit test for testing setup of RBF in different env 
(HA or not-HA). This will help us catch some issues in Router's startup.

I can help do the #2 if you are also agreed with this.

> RBF: Configuration on Router conflicts with client side configuration
> ---------------------------------------------------------------------
>
>                 Key: HDFS-13214
>                 URL: https://issues.apache.org/jira/browse/HDFS-13214
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>    Affects Versions: 2.9.0
>            Reporter: Tao Jie
>            Priority: Major
>
> In a typical router-based federation cluster, hdfs-site.xml is supposed to be:
> {code}
> <property>
>     <name>dfs.nameservices</name>
>     <value>ns1,ns2,ns-fed</value>
>   </property>
>   <property>
>     <name>dfs.ha.namenodes.ns-fed</name>
>     <value>r1,r2</value>
>   </property>
>   <property>
>     <name>dfs.namenode.rpc-address.ns1</name>
>     <value>host1:8020</value>
>   </property>
>   <property>
>     <name>dfs.namenode.rpc-address.ns2</name>
>     <value>host2:8020</value>
>   </property>
>   <property>
>     <name>dfs.namenode.rpc-address.ns-fed.r1</name>
>     <value>host1:8888</value>
>   </property>
>   <property>
>     <name>dfs.namenode.rpc-address.ns-fed.r2</name>
>     <value>host2:8888</value>
>   </property>
> {code}
> {{dfs.ha.namenodes.ns-fed}} here is used for client to access the Router. 
> However with this configuration on server node, Router fails to start with 
> error:
> {code}
> org.apache.hadoop.HadoopIllegalArgumentException: Configuration has multiple 
> addresses that match local node's address. Please configure the system with 
> dfs.nameservice.id and dfs.ha.namenode.id
>         at org.apache.hadoop.hdfs.DFSUtil.getSuffixIDs(DFSUtil.java:1198)
>         at org.apache.hadoop.hdfs.DFSUtil.getNameServiceId(DFSUtil.java:1131)
>         at 
> org.apache.hadoop.hdfs.DFSUtil.getNamenodeNameServiceId(DFSUtil.java:1086)
>         at 
> org.apache.hadoop.hdfs.server.federation.router.Router.createLocalNamenodeHearbeatService(Router.java:466)
>         at 
> org.apache.hadoop.hdfs.server.federation.router.Router.createNamenodeHearbeatServices(Router.java:423)
>         at 
> org.apache.hadoop.hdfs.server.federation.router.Router.serviceInit(Router.java:199)
>         at 
> org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
>         at 
> org.apache.hadoop.hdfs.server.federation.router.DFSRouter.main(DFSRouter.java:69)
> 2018-03-01 18:05:56,208 ERROR 
> org.apache.hadoop.hdfs.server.federation.router.DFSRouter: Failed to start 
> router
> {code}
> Then the router tries to find the local namenode, multiple properties: 
> {{dfs.namenode.rpc-address.ns1}}, {{dfs.namenode.rpc-address.ns-fed.r1}} 
> match the local address.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to