java - 加载 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。
解决方案
按着这些次序:
检查 FSImage 的路径,即 Namenode 存储 FSImage 的位置。就我而言,它是
/hadoop/hdfs/namenode/current
检查Namenode和Secondary Namenode中最后创建的FSImage。查找可用的最新 FSImage。
将最新的 FSImage 从 Secondary Namenode 复制到 Namenode,并具有与 Secondary Namenode 中相同的权限。默认情况下,就
hdfs:hadoop
我而言复制后,尝试重新启动所有服务。
推荐阅读
- php - 使用 Instagram API 输入个人资料用户名时如何获取 Instagram 照片帖子
- xcode - 如何为现有应用启用 Apple 登录?“配置文件不支持 Sign In with Apple 功能”
- r - 如何从具有离散轴的ggplot中删除x值?
- java - Hibernate 不会从集合中已删除的对象中删除条目
- python - python中的for循环索引
- java - Java FileReader 方法没有返回/打印文件记录中的所有字符
- forgerock - 在 openidm 中转换时解码编码的字符串
- java - Java Jar 已编译但无法执行
- r - 使用两列删除行
- django - 如何找到具有多级自我关系的django外键的所有相关项?