今天在运行hadoop集群时发现,部分datanode启动失败,打开logs发现以下错误
FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain
java.net.BindException: Problem binding to [0.0.0.0:50010] java.net.BindException: 地址已在使用;
原来是启动hadoop的端口50010被占用,(hadoop常用端口见https://blog.youkuaiyun.com/zhao2chen3/article/details/109896760)因此
注意:要切换到root账号下,使用netstat -alnp | grep 50010,查看是被哪个进程占用,发现是被3539进程占用,然后使用kill -9 3539杀死进程,再切换到自己的账号启动datanode即可