NameNode中,有server和serviceRpcServer两个成员,按照源码中的注释理解,如果配置了rpcserver,则server是给client专用的,其他datanode、backupnode等,都使用serviceRpcServer通信。
/** RPC server */
private Server server;
/** RPC server for HDFS Services communication.
BackupNode, Datanodes and all other services
should be connecting to this server if it is
configured. Clients should only go to NameNode#server
*/
而对应的配置项:
server : dfs.namenode.rpc-address
serviceRpcServer : dfs.namenode.servicerpc-address