是否可以在Hadoop SecondaryNameNode中更改ClusterId? 我有一个集群,由于初始配置中的一些错误,NameNode和DataNode具有关于ClusterId和NamespaceId的相同配置并且工作正常,但SecondaryNameNode正在使用另一个ClusterId,因此它无法执行检查点。
在SecondaryNameNode的日志中,我得到以下异常:
ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint
java.io.IOException: Inconsistent checkpoint fields.
LV = -60 namespaceID = 895971557 cTime = 0 ; clusterId = CID-c6b1fd29-d147-43a7-883e-e18f9f500112 ; blockpoolId = BP-1598513364-192.168.6.17-1454431796170.
Expecting respectively: -60; 1481475274; 1437642961430; CID-52d1c91c-0dc6-4d7f-8d79-48caaffe484d; BP-417298265-192.168.6.20-1401112956239.
at org.apache.hadoop.hdfs.server.namenode.CheckpointSignature.validateStorageInfo(CheckpointSignature.java:134)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.doCheckpoint(SecondaryNameNode.java:535)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.doWork(SecondaryNameNode.java:398)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode$1.run(SecondaryNameNode.java:363)
at org.apache.hadoop.security.SecurityUtil.doAsLoginUserOrFatal(SecurityUtil.java:412)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.run(SecondaryNameNode.java:359)
at java.lang.Thread.run(Thread.java:744)
有没有办法重新配置SecondaryNameNode? 我找到了很多关于如何为NameNode和DataNode更改ClusterId而不是为SecondaryNode更改的解释。