shenxianqiang created HDFS-10243:
------------------------------------
Summary: When using the TableMapping network topology, adding new
datanoe need to restart the namenode
Key: HDFS-10243
URL: https://issues.apache.org/jira/browse/HDFS-10243
Project: Hadoop HDFS
Issue Type: Bug
Environment: 2.6.0
Reporter: shenxianqiang
Priority: Minor
When I use the TableMapping network topology, adding new machines need to
restart the namenode. Configure :
{quote}
<property>
<name>net.topology.node.switch.mapping.impl</name>
<value>org.apache.hadoop.net.TableMapping</value>
</property>
<property>
<name>net.topology.table.file.name</name>
<value>/etc/hadoop/conf/net_topology_table</value>
</property>
{quote}
In /etc/hadoop/conf/net_topology_table:
{quote}
10.0.0.1 /SJS/SJS-1
10.0.0.2 /CTC/CTC-2
10.0.0.3 /TC/TC-3
{quote}
When I add a new datanode like 10.0.0.4 /SJS/SJS-2,datanode throw exception:
{quote}
2016-03-30 17:11:15,608 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode:
Initialization failed for Block pool BP-408802935-10.0.0.100-1402130194887
(Datanode Uuid null) service to nn1/10.0.0.100:8020 Failed to add
/default-rack/10.0.0.4:50010: You cannot have a rack and a non-rack node at the
same level of the network topology.
at org.apache.hadoop.net.NetworkTopology.add(NetworkTopology.java:408)
at
org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:1001)
at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4837)
at
org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1038)
at
org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:92)
at
org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:26378)
at
org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:587)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1026)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1892)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007)
{quote}
I need to update /etc/hadoop/conf/net_topology_table,and restart namenode.After
that,the new datanode should work.
Restart Namenode may cause a bad influence.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)