[ 
https://issues.apache.org/jira/browse/HDFS-17460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

xiaojunxiang updated HDFS-17460:
--------------------------------
    Description: 
  In HDFS, `dfs.internal.nameservices` is a server-side configuration, while 
`dfs.nameservices` is both a server-side and HDFSClient-side configuration.
 
  The internal configuration implies it's for internal systems. 
Now on the DataNode and JournalNode side, the priority of 
dfs.internal.nameservices configuration is higher than `dfs.nameservices`, 
which makes sense. {color:#FF0000}*However,*{color} on the ZKFC + NameNode 
side, internal configuration isn't considered.
 
  In such a scenario, when I enable RBF, the NameNode side expects 
`dfs.nameservices`=ns1,ns2 (It now ignoring `dfs.internal.nameservices`),  
{color:#FF0000}while {color}the HDFSClient side expects 
`dfs.nameservices`=ns1,ns2,nsRouter (It now ignoring 
`dfs.internal.nameservices`). 
{color:#FF0000}This means they can't use the same configuration, It would be 
too inconvenient{color}

 
  If I unify all {color:#FF0000}server-side{color} configurations to use 
`dfs.internal.nameservices`, meaning using the value of 
`dfs.internal.nameservices` to {color:#FF0000}override 
{color}`dfs.nameservices` during process startup,
{color:#FF0000}it brings the following benefits{color}:
  1、Both server and HDFSClient can {color:#FF0000}use the same 
configuration{color}: `dfs.nameservices`=ns1,ns2,nsRouter, 
`dfs.internal.nameservices`=ns1,ns2.
  2、Previously, the priority of `dfs.internal.nameservices` over 
`dfs.nameservices` was only considered in DataNode and JournalNode 
configurations,  but NameNode didn't consider dfs.internal.nameservices. This 
inconsistency in internal services doesn't look good and can be avoided. And 
now, by unifying them, {color:#FF0000}it better aligns with the original 
semantic meaning of the word "internal" as it pertains to internal 
systems.{color}

  was:
  In HDFS, dfs.internal.nameservices is a server-side configuration, while 
dfs.nameservices is both a server-side and client-side configuration.
 
  The internal configuration implies it's for internal systems. 
This means on the DataNode and JournalNode side, the priority of 
dfs.internal.nameservices configuration is higher than dfs.nameservices, which 
makes sense.
However, on the ZKFC + NameNode side, internal configuration isn't considered.
 
  In such a scenario, when I enable RBF, the NameNode side expects 
dfs.nameservices=ns1,ns2 (ignoring dfs.internal.nameservices), 
while the HDFSClient side expects dfs.nameservices=ns1,ns2,nsRouter (ignoring 
dfs.internal.nameservices). 
This means they can't use the same configuration.
 
  If I unify all server-side configurations to use dfs.internal.nameservices, 
meaning using the value of dfs.internal.nameservices to override 
dfs.nameservices during process startup,
it brings the following benefits:
  1、Both server and client can use the same configuration: 
dfs.nameservices=ns1,ns2,nsRouter, dfs.internal.nameservices=ns1,ns2.
  2、Previously, the priority of dfs.internal.nameservices over dfs.nameservices 
was only considered in DataNode and JournalNode configurations,  but NameNode 
didn't consider dfs.internal.nameservices. This inconsistency in internal 
services doesn't look good and can be avoided. And now, by unifying them, it 
better aligns with the original semantic meaning of the word "internal" as it 
pertains to internal systems.


> Make All HDFS Server side component uniform use the value of 
> `dfs.internal.nameservices` to override `dfs.nameservices` 
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-17460
>                 URL: https://issues.apache.org/jira/browse/HDFS-17460
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs, rbf
>            Reporter: xiaojunxiang
>            Priority: Major
>
>   In HDFS, `dfs.internal.nameservices` is a server-side configuration, while 
> `dfs.nameservices` is both a server-side and HDFSClient-side configuration.
>  
>   The internal configuration implies it's for internal systems. 
> Now on the DataNode and JournalNode side, the priority of 
> dfs.internal.nameservices configuration is higher than `dfs.nameservices`, 
> which makes sense. {color:#FF0000}*However,*{color} on the ZKFC + NameNode 
> side, internal configuration isn't considered.
>  
>   In such a scenario, when I enable RBF, the NameNode side expects 
> `dfs.nameservices`=ns1,ns2 (It now ignoring `dfs.internal.nameservices`),  
> {color:#FF0000}while {color}the HDFSClient side expects 
> `dfs.nameservices`=ns1,ns2,nsRouter (It now ignoring 
> `dfs.internal.nameservices`). 
> {color:#FF0000}This means they can't use the same configuration, It would be 
> too inconvenient{color}
>  
>   If I unify all {color:#FF0000}server-side{color} configurations to use 
> `dfs.internal.nameservices`, meaning using the value of 
> `dfs.internal.nameservices` to {color:#FF0000}override 
> {color}`dfs.nameservices` during process startup,
> {color:#FF0000}it brings the following benefits{color}:
>   1、Both server and HDFSClient can {color:#FF0000}use the same 
> configuration{color}: `dfs.nameservices`=ns1,ns2,nsRouter, 
> `dfs.internal.nameservices`=ns1,ns2.
>   2、Previously, the priority of `dfs.internal.nameservices` over 
> `dfs.nameservices` was only considered in DataNode and JournalNode 
> configurations,  but NameNode didn't consider dfs.internal.nameservices. This 
> inconsistency in internal services doesn't look good and can be avoided. And 
> now, by unifying them, {color:#FF0000}it better aligns with the original 
> semantic meaning of the word "internal" as it pertains to internal 
> systems.{color}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to