解决HDFS无法启动namenode,报错Premature EOF from inputStream;Failed to load FSImage file, see error(s) above for more info
一.情况描述
启动hadoop后发现无法打开hdfs web界面,50070打不开,于是jps发现少了一个namenode:

查看日志信息,发现如下报错:
2022-01-03 23:54:10,993 INFO org.apache.hadoop.hdfs.server.namenode.FSImage: Planning to load image: FSImageFile(file=/export/servers/hadoop-3.1.4/hadoopDatas/namenodeDatas/current/fsimage_0000000000000052563, cpktTxId=0000000000000052563)
2022-01-03 23:54:10,999 ERROR org.apache.hadoop.hdfs.server.namenode.FSImage: Failed to load image from FSImageFile(file=/export/servers/hadoop-3.1.4/hadoopDatas/namenodeDatas/current/fsimage_0000000000000052563, cpktTxId=0000000000000052563)
java.io.IOException: Premature EOF from inputStream
at org.apache.hadoop.io.IOUtils.readFully(IOUtils.java:212)
at org.apache.hadoop.hdfs.server.namenode.FSImageFormat$LoaderDelegator.load(FSImageFormat.java:222)
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:962)
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:946)
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImageFile(FSImage.java:807)
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:738)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:336)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1132)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:747)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:652)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:723)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:966)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:939)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1705)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1772)
2022-01-03 23:54:11,015 INFO org.apache.hadoop.hdfs.server.namenode.FSImage: Planning to load image: FSImageFile(file=/export/servers/hadoop-3.1.4/hadoopDatas/namenodeDatas2/current/fsimage_0000000000000052563, cpktTxId=0000000000000052563)
2022-01-03 23:54:11,015 ERROR org.apache.hadoop.hdfs.server.namenode.FSImage: Failed to load image from FSImageFile(file=/export/servers/hadoop-3.1.4/hadoopDatas/namenodeDatas2/current/fsimage_0000000000000052563, cpktTxId=0000000000000052563)
java.io.IOException: Premature EOF from inputStream
at org.apache.hadoop.io.IOUtils.readFully(IOUtils.java:212)
at org.apache.hadoop.hdfs.server.namenode.FSImageFormat$LoaderDelegator.load(FSImageFormat.java:222)
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:962)
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:946)
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImageFile(FSImage.java:807)
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:738)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:336)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1132)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:747)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:652)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:723)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:966)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:939)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1705)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1772)
2022-01-03 23:54:11,021 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage
java.io.IOException: Failed to load FSImage file, see error(s) above for more info.
at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:752)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:336)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1132)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:747)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:652)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:723)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:966)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:939)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1705)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1772)
二.解决方案
根据报错信息,发现是读取文件错误,后面即是文件路径名称,我这里是读取两个文件出错,然后删除日志中读取错误的文件(可以提前备份)


我这里已经删除了(.md5可以不删),之后重启hdfs,可以发现namenode已启动

重新进入hdfs页面

解决HDFS无法启动namenode,报错Premature EOF from inputStream;Failed to load FSImage file, see error(s) above for more info的更多相关文章
- hive报lzo Premature EOF from inputStream错误
今天dw组同事发邮件说有一个问题让帮解决一下.他们自己没能搞得定.下面问题解决过程: 1.hql insert overwrite table mds_prod_silent_atten_user p ...
- Linux系统下启动tomcat报错【java.util.prefs.BackingStoreException: Couldn't get file lock】的解决方法
Linux环境下,启动tomcat报出如题的警告信息,虽然对系统正常使用没有多大影响,但是会导致tomcat的日志垃圾信息很多,而且看起来很不爽... 具体的警告信息如下: Jan , :: PM j ...
- 解决Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.
1.错误症状:右击tomcat server,选择start,出现下图所示错误 2.错误原因: 我为了方便管理,把tomcat安装到了当前的eclipse-project目录下:E:/workspac ...
- 启动Tomcat报错:A child container failed during start
在之前的工作和学习当中,有碰到过很多未知的,在当时看来十分令人疑惑的问题.当时的解决手段简单粗暴,就是直接百度,搜到对应的解决方案,直接抄过来试试,不行再换,直到问题消失,程序可以正常跑了,立马就不管 ...
- 启动tomcat报错One or more listeners failed to start,却找不到任何错误日志的临时解决方案
在整合spring和quartz时,启动tomcat,服务台报以上错误,却找不到任何错误日志…… 参考了https://www.cnblogs.com/sxdcgaq8080/p/8005886.ht ...
- 启动tomcat报错Status 状态为 Deployment failed
- mysql无法启动,报错 Can't start server: can't create PID file: No space left on device
然后看mysql日志文件 出现Can't start server: can't create PID file: No space left on device 这个错误. 提示磁盘空间不足 后用d ...
- 启动项目报错:org.springframework.beans.factory.UnsatisfiedDependencyException
dubbo项目: 启动项目报错:(web端) org.springframework.beans.factory.UnsatisfiedDependencyException: Error creat ...
- anaconda重装jupyter notebook后启动jupyter报错的问题
问题描述: 由于jupyter出现难以解决的问题,采用重新安装来解决问题,但是重装之后启动jupyter报错ImportError: libsodium.so.23: cannot open shar ...
随机推荐
- JZ-006-旋转数组的最小数字
旋转数组的最小数字 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. NOTE:给出的所有元素都大于0,若数组 ...
- CSAPP-Lab03 Attack Lab 记录
纸上得来终觉浅,绝知此事要躬行 实验概览 Attack!成为一名黑客不正是我小时候的梦想吗?这个实验一定会很有趣. CMU 对本实验的官方说明文档:http://csapp.cs.cmu.edu/3e ...
- 【二】遗传算法(GA)的MATLAB实现
essay from:https://wenku.baidu.com/view/ce45bbf44693daef5ef73df3.html 一.MATLAB编程实现GA 二.MATLAB函数调用实现G ...
- 微信小程序清除缓冲
1:wxml定义一个清除缓冲的按钮,并绑定触摸事件 <button bindtap="clear">清空缓冲</button> 2:wxjs定义方法: // ...
- Linux企业常用命令详解
cat :查看 cat [-AbeEnstTuv] [--help] [--version] fileName 常用参数: -n :由 1 开始对所有输出的行数编号 -b :和 -n 相似,对于空白行 ...
- 如何解决代码中if/else 过多的问题
前言 if...else 是所有高级编程语言都有的必备功能.但现实中的代码往往存在着过多的 if...else.虽然 if...else 是必须的,但滥用 if...else 会对代码的可读性.可维护 ...
- 消息中间件-RabbitMq相关概念及原理介绍【图文并茂】
消息中间件 消息中间件的作用 解耦:消息中间件在服务之间插入了一个隐含的.基于数据的接口层.两边的服务处理过程都要实现这一接口,这允许我们独立的扩展或修改两边的处理过程,只要确保他们遵守相同的规范约束 ...
- [SPDK/NVMe存储技术分析]003 - NVMeDirect论文
说明: 之所以要翻译这篇论文,是因为参考此论文可以很好地理解SPDK/NVMe的设计思想. NVMeDirect: A User-space I/O Framework for Application ...
- C/C++ 文件读写
•前言 第一次接触文件读写是在大一的C语言教材中,当时哼哧吧唧的学的贼费劲,虽然最后也学会了,但好像没怎么用过. 在后来,就是在OJ上刷题的时候,编写的代码有时候连样例都不能通过: 这个时候就需要各种 ...
- Mysql常用操作笔记
目录 登录 退出 Sql语句分类 DDL操作数据库 1.创建数据库 2.查看数据库 3.修改数据库 4.删除数据库 5.使用数据库 6.创建表 7.查看表 8.删除表 9.修改表 10.常用字段类型 ...