Incompatible namespaceID for journal Storage Directory ...

1992 단어

Question:

2014-04-15 15:00:02,235 FATAL org.apache.hadoop.hdfs.server.namenode.FSEditLog: Error: recoverUnfinalizedSegments failed for required journal (JournalAndStream(mgr=QJM to [172.16.19.21:8485, 172.16.19.22:8485, 172.16.19.23:8485], stream=null))
org.apache.hadoop.hdfs.qjournal.client.QuorumException: Got too many exceptions to achieve quorum size 2/3. 3 exceptions thrown:
172.16.19.22:8485: Incompatible namespaceID for journal Storage Directory /home/hkx/journaldata/ns2: NameNode has nsId 480343035 but storage has nsId 2072447892
	at org.apache.hadoop.hdfs.qjournal.server.JNStorage.checkConsistentNamespace(JNStorage.java:202)
	at org.apache.hadoop.hdfs.qjournal.server.Journal.newEpoch(Journal.java:286)
	at org.apache.hadoop.hdfs.qjournal.server.JournalNodeRpcServer.newEpoch(JournalNodeRpcServer.java:132)
	at org.apache.hadoop.hdfs.qjournal.protocolPB.QJournalProtocolServerSideTranslatorPB.newEpoch(QJournalProtocolServerSideTranslatorPB.java:114)
	at org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos$QJournalProtocolService$2.callBlockingMethod(QJournalProtocolProtos.java:17439)
	at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
	at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2048)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2044)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2042)

Answer:


Namenode는 HDFS를 포맷할 때마다 새 namespaceID를 생성합니다.현재버전과previous버전이라고 볼 수 있습니다.namespaceID가 일치하지 않을 때마다 모든 실례를 previous 버전으로 롤백할 수 있습니다.
NamespaceID는namenode와datanode,journalnode를 연결합니다.Datanode와 Journalnode는namespaceID를 통해namenode에 자신을 연결합니다.

좋은 웹페이지 즐겨찾기