首页 > 解决方案 > 加载 FSImage 文件失败!|| 怎么解决

问题描述

我正在尝试使用 Jps 命令显示所有服务,但是当我点击控制台时,以下节点仅显示

 3633 SecondaryNameNode
 4228 Jps
 3493 DataNode
 4198 NodeManager
 4088 ResourceManager

我正在尝试使用 start-dfs.sh 和 start-yarn.sh 启动所有服务。但之后结果也是一样的。我进入日志查找异常,我看到下面的异常。

 2018-06-29 16:02:31,414 INFO org.mortbay.log: Stopped HttpServer2$SelectChannelConnectorWithSafeStartup@0.0.0.0:50070
 2018-06-29 16:02:31,414 WARN org.apache.hadoop.http.HttpServer2: HttpServer Acceptor: isRunning is false. Rechecking.
 2018-06-29 16:02:31,416 WARN org.apache.hadoop.http.HttpServer2: HttpServer Acceptor: isRunning is false
 2018-06-29 16:02:31,423 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Stopping NameNode metrics system...
 2018-06-29 16:02:31,425 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system stopped.
 2018-06-29 16:02:31,425 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
 2018-06-29 16:02:31,425 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
  java.io.IOException: Failed to load an FSImage file!
  at      org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:673)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:281)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1006)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:736)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:531)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:587)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:754)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:738)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1427)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1493)
2018-06-29 16:02:31,428 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2018-06-29 16:02:31,454 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1
************************************************************/

我不知道如何解决这个问题,请帮忙。我正在使用 hadoop-2.5.0-cdh5.3.2。

标签: javahadoophadoop2namenode

解决方案


按着这些次序:

  1. 检查 FSImage 的路径,即 Namenode 存储 FSImage 的位置。就我而言,它是/hadoop/hdfs/namenode/current

  2. 检查Namenode和Secondary Namenode中最后创建的FSImage。查找可用的最新 FSImage。

  3. 将最新的 FSImage 从 Secondary Namenode 复制到 Namenode,并具有与 Secondary Namenode 中相同的权限。默认情况下,就hdfs:hadoop我而言

  4. 复制后,尝试重新启动所有服务。


推荐阅读