加载 FSImage 文件失败! ||怎么解决

Posted

技术标签:

【中文标题】加载 FSImage 文件失败! ||怎么解决【英文标题】:Failed to load an FSImage file! || How to solve 【发布时间】:2018-06-29 11:00:26 【问题描述】:

我正在尝试使用 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。

【问题讨论】:

你尝试格式化namenode了吗?我建议你使用'hdfs namenode -format'。看看这对你有用吗? @Abhinav 格式化 namenode 将删除 hdfs 中的所有信息,所以你有更好的选择吗? 好的,等一下。我将其发布在答案中。 【参考方案1】:

按照以下步骤操作:

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

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

    将最新的 FSImage 从辅助 Namenode 复制到 Namenode,并具有与辅助 Namenode 中相同的权限。默认情况下,在我的情况下是hdfs:hadoop

    复制后,尝试重启所有服务。

【讨论】:

【参考方案2】:

    格式化namenode:“hdfs namenode -format”

    现在,确保 namenode 和 datanode 的 clusterID= 相同。如果 不行,换一个。 就我而言, /Path_installation_dir/hdata/dfs/name/current/VERSION /Path_installation_dir/hdata/dfs/data/current/VERSION

    全部完成。启动 dfs,纱线。

【讨论】:

以上是关于加载 FSImage 文件失败! ||怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

启动hadoop报ERROR org.apache.hadoop.hdfs.server.namenode.FSImage: Failed to load image from FSImageFile

电脑开机出现duilib加载资源文件失败怎么解决

win10运行中出现duilib加载资源失败。怎么解决

大数据源码Hadoop源码解读 Namenode 启动加载FsImage的过程

Nginx的加载失败的SSL证书问题,怎么解决

加载JS文件报错,求解决..