今天启动集群,发现部分节点出现在deadNode里。远程登录后(ssh),发现datanode的保护进程没有启动。
调用命令./hadoop-daemon.sh start datanode 发现datanode会启动一段时间,然后再次坏死。 查看log文件(logs/hadoop-username-datanode-dataname.log)发现报了“verifyNodeRegistration: unknown datanode“的错。查找网络,发现解决该错误的两种方法。
1.删除hadoop下的dataDir文件夹。该文件夹存放mapreduce程序的中间量,删除需谨慎。
2.查看namenode的exclude文件(文件查找可以利用find命令 find -name exclude)该文件是namenode的黑名单,其中记录的节点不会被namenode检测,也就无法加入集群。删除文件中对应的节点,然后刷新节点信息 hadoop dfsadmin -refreshNodes。然后在重新启动节点。
3.注意同步ssh密匙