集群中有一台datanode一直启动报错如下:
java.net.BindException: Problem binding to [$server1:50020] java.net.BindException: Address already in use; For more details see: http://wiki.apache.org/hadoop/BindException
查看端口是否被占用
# netstat -tnlp|grep 50020
发现没有进程在监听50020端口,奇怪,也有可能是从本机50020端口连接到其他服务器,再查(通过netstat或lsof都可以)
# netstat -nat|grep 50020
tcp 0 0 $server1:50020 $server2:7050 ESTABLISHED 8578/kudu-tserver
or
# lsof -i:50020
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
kudu-tser 8578 kudu 22u IPv4 4295504 0t0 TCP cdp-test-server-02.bj:50020->cdp-test-server-04.bj:7050 (ESTABLISHED)
原来是kudu的一个随机端口占用导致,将tserver重启即可;