由于格式(format)多次namenode造成的集群id(ClusterID)不一致问题
- 高可用集群(ha集群),有两个namenode,一个active状态,一个standby状态。
1,当配置好第一个namenode后,第一次启动第一台namenode:hadoop-daemon.sh start namenode
2,第一次格式化namenode会产生集群ID(ClusterID):hdfs namenode -format
3,在另一台namenode执行:hdfs namenode -bootstrapStandby 同步集群ID到第二台namenode,
同步信息:
About to bootstrap Standby ID nn2 from:
Nameservice ID: mycluster
Other Namenode ID: nn1
Other NN's HTTP address: http://node1:50070
Other NN's IPC address: node1/192.168.189.21:8020
Namespace ID: 1160820497
Block pool ID: BP-1577107106-192.168.189.21-1505838743020
Cluster ID: CID-15b7c15c-f04c-4562-bf6c-30885d98427a
Layout version: -60
isUpgradeFinalized: true
- 问题:再次或多次对namenode格式化format后,会生成新的集群ID,其他节点的进程的集群ID却还是第一次格式化同步后的,集群ID版本不一致,不匹配,
- 导致start-all.sh时第二台namenode不能启动,三个datanode也不能启动,即便在各自单独节点上能够启动,但在web端访问时,三个datanode节点进程都不能正常显示,第二台standby状态的namenode也不能访问
- 解决办法: