I have been repeatedly trying to start datanode but it fails with bind
exception saying address is already in use even though port is free
I used below commands to check
netstat -a -t --numeric-ports -p | grep 500
I have overridden default port 50070 with 50081 but the issue still
persists.
Starting DataNode with maxLockedMemory = 0
Opened streaming server at /172.19.7.160:50081
Balancing bandwith is 10485760 bytes/s
Number threads for balancing is 5
Waiting for threadgroup to exit, active threads is 0
Shutdown complete.
Exception in secureMain
java.net.BindException: bind(2) error: Address already in use when trying
to bind to '/var/run/hdfs-sockets/datanode'
at org.apache.hadoop.net.unix.DomainSocket.bind0(Native Method)
at
org.apache.hadoop.net.unix.DomainSocket.bindAndListen(DomainSocket.java:191)
at
org.apache.hadoop.hdfs.net.DomainPeerServer.<init>(DomainPeerServer.java:40)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.getDomainPeerServer(DataNode.java:907)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.initDataXceiver(DataNode.java:873)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:1066)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:411)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2297)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2184)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2231)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2407)
at
org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2431)
Exiting with status 1
hdfs-site.xml
<property>
<name>dfs.datanode.address</name>
<value>hostname.dc.xx.org:50010</value>
</property>
<property>
<name>dfs.datanode.ipc.address</name>
<value>hostname.dc.xx.org:50020</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>hostname.dc.xx.org:50075</value>
</property>
Regards,
RT