hadoop错误:找不到与映像文件对应的md5文件

rmbxnbpk  于 2021-07-13  发布在  Hadoop
关注(0)|答案(1)|浏览(386)

有一个旧的 hadoop 系统(已经多年没有使用),当尝试重新启动集群(1个主服务器,2个从服务器)时,全部打开 Linux ,出错,在 namenode .
错误输出:

2021-03-18 20:18:28,628 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.io.IOException: Failed to load image from FSImageFile(file=/home/xxx/tmp/hadoop/name/current/fsimage_0000000000000480607, cpktTxId=0000000000000480607)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:651)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:264)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:627)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:469)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:403)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:437)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:609)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:594)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1169)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1235)
Caused by: java.io.IOException: No MD5 file found corresponding to image file /home/xxx/tmp/hadoop/name/current/fsimage_0000000000000480607
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:736)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:632)
        ... 9 more
2021-03-18 20:18:28,631 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2021-03-18 20:18:28,633 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG:

更多信息:
slave的一个datanode分区有坏磁盘块,所以我已经从中删除了这个分区 /etc/fstab 所以要把 Linux 向上。所以,那个奴隶的数据丢失了。
我尝试过:
启动集群,包括所有3个节点,都出现上述错误。
启动集群,排除坏的从节点,因此只有2个节点,仍然得到以上错误。

问题:

答。错误意味着什么?
b。和坏奴隶有关吗?
c。在namenode上是否有恢复而不重新格式化hdfs文件系统的方法?

k5hmc34c

k5hmc34c1#

应该有一个名为:
/home//tmp/hadoop/name/current/fsimage\u 0000000000000480607.md5
与图像文件位于同一位置。它的内容如下所示:

177e5f4ed0b7f43eb9e274903e069da4 *fsimage_0000000000000014367

只需获取fsimage文件的md5和:

md5sum fsimage_0000000000000480607.md5

然后创建一个新的md5文件,如下所示:

xxxxxx *fsimage_0000000000000480607.md5

其中是md5命令的md5sum。

相关问题