这是坚持技术写作计划(含翻译)的第27篇,定个小目标999,每周最少2篇。
今天安装cdh时遇到hdfs启动失败问题,解决起来倒是不麻烦,简单记录下。
关键信息 java.io.IOException: Incompatible clusterIDs in /dfs/dn: namenode clusterID = cluster74; datanode clusterID = cluster14
关键信息,namenode的 clusterID和datanode的不一致。
原因:执行hdfs namenode -format后,current目录会删除并重新生成,其中VERSION文件中的clusterID也会随之变化,而datanode的VERSION文件中的clusterID保持不变,造成两个clusterID不一致。
方案:
- 如果是新建的集群,则直接主机目录
/dfs/dn
(cdh->hdfs->配置-> dfs.datanode.data.dir
)下的current目录下的文件删除 rm -rf /dfs/dn/current/*
- 如果集群内有数据,则只改 /dfs/dn/current/VERSION 中的
clusterID=clusterXX
XX为正确的namenode的clusterID
重启datanode即可