今天在運作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.csdn.net/zhao2chen3/article/details/109896760)是以
注意:要切換到root賬号下,使用netstat -alnp | grep 50010,檢視是被哪個程序占用,發現是被3539程序占用,然後使用kill -9 3539殺死程序,再切換到自己的賬号啟動datanode即可