期间运行namenode的试验机因跑其它程序和任务重启过几次导致以前启动的hadoop相关的进程和服务都停了。今天有空再跑一次,遇到各种莫名其妙问题,好事多磨,也算是对先前没遇到问题的一个补充。
1. namenode 9000端口被占导致namenode startup failed
这段本地调试其它程序时启动过xdebug,它的默认端口就是9000, netstat -ap 和lsof -i:9000都没看到被占用,两个不相关的程序还着实费了点时间才找出来,关掉xdebug所在的IDE解决之。
2. namenode和datanode轮流启动失败
namenode启动失败,通常都是机器重启后hadoop core-site.xml中配置的tmp目录中name/secondaryname中的clusterID等信息不一致所致,删除其下的文件或格式化即可。
使用 hdfs namenode -format 后,namenode可以启动了,但datanode始终启动不起来。报错如下:
WARN org.apache.hadoop.hdfs.server.common.Storage: Failed to add storage directory [DISK]file:/home/hadoop/bigdata/data/hadoop/tmp/dfs/data/
java.io.IOException: Incompatible clusterIDs in/home/hadoop/bigdata