Невозможно импортировать новый fsimage, используя "hdfs namenode importCheckpoint" - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть namenode, чей fsimage поврежден, и у меня есть только один доступный fsimage.У меня есть secondnamenode, в котором есть доступные контрольные точки.Теперь я хотел импортировать Checkpoint в новый каталог.Старый каталог: cd /home/rakeshbharadwaj/Desktop/hadoop-2.7.4-ex2/nn Новый каталог: я изменил в hdfs-site.xml на /home/rakeshbharadwaj/Desktop/hadoop-2.7.4-ex2/new

Я попытался запустить hdfs namenode importcheckPoint, и он выдал следующую ошибку

19/02/26 12:38:51 INFO common.Storage: Lock on /home/rakeshbharadwaj/Desktop/hadoop-2.7.4-ex2/new/in_use.lock acquired by nodename 5270@rakeshbharadwaj-VirtualBox
19/02/26 12:38:51 INFO namenode.FSImage: Storage directory /home/rakeshbharadwaj/Desktop/hadoop-2.7.4-ex2/new is not formatted.
19/02/26 12:38:51 INFO namenode.FSImage: Formatting ...
19/02/26 12:38:51 INFO common.Storage: Lock on /tmp/hadoop-rakeshbharadwaj/dfs/namesecondary/in_use.lock acquired by nodename 5270@rakeshbharadwaj-VirtualBox
19/02/26 12:38:51 WARN namenode.FSNamesystem: Encountered exception loading fsimage
java.io.IOException: NameNode is not formatted.
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:235)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.doImportCheckpoint(FSImage.java:580)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:311)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:978)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:685)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:585)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:645)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:819)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:803)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1500)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1566)
19/02/26 12:38:51 INFO mortbay.log: Stopped HttpServer2$SelectChannelConnectorWithSafeStartup@0.0.0.0:50070

Итак, я отформатировал namenode, запустив hdfs namenode -format.И формат был успешным.После этого формата появилось новое изображение fsimage_0000000000000000000

Теперь я снова запустил hdfs namenode -importCheckpoint, и он выдал следующую ошибку.

19/02/26 12:30:47 WARN namenode.FSNamesystem: Encountered exception loading fsimage
java.io.IOException: Cannot import image from a checkpoint.  NameNode already contains an image in /home/rakeshbharadwaj/Desktop/hadoop-2.7.4-ex2/n
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:392)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:225)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:978)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:685)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:585)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:645)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:819)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:803)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1500)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1566)

Вопрос: Какрешить эту проблему и получить fsimage с контрольной точки в новом каталоге.

...