一.情况描述

启动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的更多相关文章

  1. hive报lzo Premature EOF from inputStream错误

    今天dw组同事发邮件说有一个问题让帮解决一下.他们自己没能搞得定.下面问题解决过程: 1.hql insert overwrite table mds_prod_silent_atten_user p ...

  2. Linux系统下启动tomcat报错【java.util.prefs.BackingStoreException: Couldn't get file lock】的解决方法

    Linux环境下,启动tomcat报出如题的警告信息,虽然对系统正常使用没有多大影响,但是会导致tomcat的日志垃圾信息很多,而且看起来很不爽... 具体的警告信息如下: Jan , :: PM j ...

  3. 解决Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.

    1.错误症状:右击tomcat server,选择start,出现下图所示错误 2.错误原因: 我为了方便管理,把tomcat安装到了当前的eclipse-project目录下:E:/workspac ...

  4. 启动Tomcat报错:A child container failed during start

    在之前的工作和学习当中,有碰到过很多未知的,在当时看来十分令人疑惑的问题.当时的解决手段简单粗暴,就是直接百度,搜到对应的解决方案,直接抄过来试试,不行再换,直到问题消失,程序可以正常跑了,立马就不管 ...

  5. 启动tomcat报错One or more listeners failed to start,却找不到任何错误日志的临时解决方案

    在整合spring和quartz时,启动tomcat,服务台报以上错误,却找不到任何错误日志…… 参考了https://www.cnblogs.com/sxdcgaq8080/p/8005886.ht ...

  6. 启动tomcat报错Status 状态为 Deployment failed

  7. 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 ...

  8. 启动项目报错:org.springframework.beans.factory.UnsatisfiedDependencyException

    dubbo项目: 启动项目报错:(web端) org.springframework.beans.factory.UnsatisfiedDependencyException: Error creat ...

  9. anaconda重装jupyter notebook后启动jupyter报错的问题

    问题描述: 由于jupyter出现难以解决的问题,采用重新安装来解决问题,但是重装之后启动jupyter报错ImportError: libsodium.so.23: cannot open shar ...

随机推荐

  1. 怎么在 liunx 上安装docker

    怎么在 liunx 上安装docker 作为一个非科班出身自学的小白,踩过很多的坑,特此留下记录 以下在虚拟机上示例 系统:linux(centos7) 操作方式:xshell连接终端操作 1.打开x ...

  2. unittest的discover方法批量执行02

    前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的Text ...

  3. Java入土--Java基础(二)

    Java基础(二) 接上一讲,我们接着来聊聊Java的一些基础知识,下一讲就会进行流程的控制. 类型转换 首先呢,是类型的转换,接上一个内容的数据类型,类型转换就是数据类型更进一步的应用. 由于Jav ...

  4. 12、mysql的事务日志

    mysql的事务日志 事务有4种特性:原子性.一致性.隔离性和持久性.那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由锁机制实现. 事务的原子性.一致性和持久性由事务的redo日志和und ...

  5. CF877F题解

    题目大意 有一个序列,每个位置上有 \(1\) 或 \(2\) 两种元素若干,每次询问一个区间,求这个区间有多少个子区间满足 \(1\) 类元素恰好比 \(2\) 类元素多 \(k\) 个. 莫队 要 ...

  6. Eureka 基本教程

    目录 Eureka 基本教程 RestTemplate 使用 Eureka 使用 注册中心 提供者 消费者 Eureka 基本教程 RestTemplate 使用 学习Euraka的同学直接滑到最下面 ...

  7. 你应该知道的Redis过期键和过期策略

    今天,我和大家分享一篇关于 Redis 有关过期键的内容,主要有四个内容: 如何设置过期键 如何取消设置的过期时间 过期键的过期策略是怎样的 RDB.AOF 和复制对过期键的处理又是怎样的 设置键的生 ...

  8. Java代码块与构造器方法执行顺序

    直接上源码: public class Demo4 { { //这里是代码块 System.out.println("这里是代码块"); } static { //这里是静态代码块 ...

  9. hook(v16.7测试)?

    在无状态组件(如函数式组件)中也能操作state以及其他react特性, 通过useState

  10. 什么是 FreeMarker 模板?

    FreeMarker 是一个基于 Java 的模板引擎,最初专注于使用 MVC 软件架构进行动态网页生成.使用 Freemarker 的主要优点是表示层和业务层的完全分离.程序员可以处理应用程序代码, ...