hadoop hdfs空间满后重新启动不了
server检查的时候。发现存在HDFS上的文件无法同步,再发现hadoop停掉了。
进行重新启动,重新启动不成功。
查看hadoop日志:
2014-07-30 14:15:42,025 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Roll Edit Log from 192.168.206.133
<span style="color:#ff0000;">2014-07-30 14:15:42,026 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Cannot roll edit log, edits.new files already exists in all healthy directories:/home/hadoop/hdfs/name/current/edits.new</span><span style="color:#ff0000;">2014-07-30 14:17:17,853 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Unable to sync edit log.
java.io.IOException: No space left on device</span>at sun.nio.ch.FileChannelImpl.force0(Native Method)at sun.nio.ch.FileChannelImpl.force(FileChannelImpl.java:348)at org.apache.hadoop.hdfs.server.namenode.FSEditLog$EditLogFileOutputStream.flushAndSync(FSEditLog.java:215)at org.apache.hadoop.hdfs.server.namenode.EditLogOutputStream.flush(EditLogOutputStream.java:89)at org.apache.hadoop.hdfs.server.namenode.FSEditLog.logSync(FSEditLog.java:1017)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:1190)at org.apache.hadoop.hdfs.server.namenode.NameNode.create(NameNode.java:628)at sun.reflect.GeneratedMethodAccessor300.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:396)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
2014-07-30 14:17:17,853 FATAL org.apache.hadoop.hdfs.server.namenode.FSNamesystem: No edit streams are accessible
java.lang.Exception: No edit streams are accessibleat org.apache.hadoop.hdfs.server.namenode.FSEditLog.fatalExit(FSEditLog.java:388)at org.apache.hadoop.hdfs.server.namenode.FSEditLog.exitIfNoStreams(FSEditLog.java:407)at org.apache.hadoop.hdfs.server.namenode.FSEditLog.removeEditsAndStorageDir(FSEditLog.java:432)at org.apache.hadoop.hdfs.server.namenode.FSEditLog.removeEditsStreamsAndStorageDirs(FSEditLog.java:470)at org.apache.hadoop.hdfs.server.namenode.FSEditLog.logSync(FSEditLog.java:1030)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:1190)at org.apache.hadoop.hdfs.server.namenode.NameNode.create(NameNode.java:628)at sun.reflect.GeneratedMethodAccessor300.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:396)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
空间满了。
使用命令df -h查看当中一个datanode,果然
但使用du -s查看,但显示仅仅使用几百G,并没有满
这个实候确实让人费解,仅仅好重新启动datanode所在的server。并又一次挂载。回复原样,容量显示正常。
可是这个时候hadoop集群依旧无法重新启动,一直报错:
014-07-30 16:27:46,610 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.IOException: Incorrect data format. logVersion is -32 but writables.length is 0. at org.apache.hadoop.hdfs.server.namenode.FSEditLog.loadFSEdits(FSEditLog.java:560)at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSEdits(FSImage.java:1026)at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:839)at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:377)at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:388)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:362)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:276)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:496)at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1279)at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288)
2014-07-30 16:27:46,612 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.io.IOException: Incorrect data format. logVersion is -32 but writables.length is 0. at org.apache.hadoop.hdfs.server.namenode.FSEditLog.loadFSEdits(FSEditLog.java:560)at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSEdits(FSImage.java:1026)at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:839)at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:377)at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:388)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:362)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:276)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:496)at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1279)at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288)
不得解。仅仅好从secondrynamenode尝试恢复
1. 先备份namenode和secondrynamenode的数据
2. 运行checkpoint数据:hadoop namenode –importCheckpoint
失败……
最后查了网上的方法(有一个是改动代码并又一次编译的。就算了):
printf "\xff\xff\xff\xee\xff" > edits
重新启动失败。继续:
printf "\xff\xff\xff\xee\xff" > edits.new
重新启动成功。
可是问题来了,数据丢失,由于清空了edits文件最新的日志内容。
一般来说,到这份上是没有办法了。
可是,幸好我们有两地同步和备份,将别一个数据中心HDFS集群的数据同步过来。恢复成功。
假设没有异地备份的话,上面的操作我也会慎之又慎的。
hadoop hdfs空间满后重新启动不了相关推荐
- Hadoop集群启动后利用Web界面管理HDFS
Hadoop集群启动后,可以通过自带的浏览器Web界面查看HDFS集群的状态信息,访问IP为NameNode所在服务器的IP地址,hadoop版本为3.0以前访问端口默认为9870,hadoop版本为 ...
- Hadoop集群启动后没有SecondaryNameNode,IllegalArgument报错:Does not contain a valid host:port authority: hdfs:
启动集群后发现没有SecondaryNameNode [root@hadoop02 hadoop-2.7.2]# sbin/start-dfs.sh Starting namenodes on [ha ...
- 看完就能独自把集群搭起来!Hadoop HDFS完全分布式环境搭建以及技术详解
作者 | 慢慢变成大佬 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 在文章开始之前,作者想要告诉大家:读懂本篇文章,能让小白快速入门,并且能够搭建完全分布式的集群,以及 ...
- 什么是Hadoop - HDFS - MapReduce - YARN - HA
Hadoop 为什么要有Hadoop? 从计算机诞生到现今,积累了海量的数据,这些海量的数据有结构化.半结构化.非 结构的数据,并且这些海量的数据存储和检索就成为了一大问题. 我们都知道大数据技术难题 ...
- hadoop(hdfs)常见面试题
1.谈谈什么是Hadoop? Hadoop是一个开源软件框架,用于存储大量数据,并发计算/查询节点的集群上的数据.Hadoop包括以下内容:HDFS(Hadoop Distributed File S ...
- Hadoop hdfs副本存储和纠删码(Erasure Coding)存储优缺点
The advantages and disadvantages of hadoop hdfs replicating storage and erasure coding storage. Hado ...
- Spark运行任务时报错:org.apache.hadoop.hdfs.protocol.DSQuotaExceededException: The DiskSpace quota of...
今天运行spark任务时,遇到一个错误,主要报错信息如下: org.apache.spark.SparkException:Task failed while writing rows. Caused ...
- Hadoop HDFS完全分布式环境搭建以及技术详解(保证没接触过大数据的小白看完就能独自把集群搭起来,并对HDFS有详细的认知)
**读懂本篇文章,能让小白快速入门,并且能够搭建完全分布式的集群,以及能对hadoop hdfs产生详细的认知,对以后的学习有很大的帮助** 我们先来了解hadoop的hdfs基本概念,熟知基本概念, ...
- Hadoop HDFS创建文件/写数据流程、源码详细解析
HDFS创建文件/写数据源码解析 HDFS HDFS写流程 创建文件源码 客户端 DistributedFileSystem DFSClient DFSOutputStream 客户端/Namenod ...
最新文章
- 特使招募-航天三院-智能车竞赛
- mysql 事务 查询 范围加锁_MySQL死锁系列-常见加锁场景分析
- python代码块-python代码块
- mysql client dev_ubuntu下mysql安装(server、client、dev),开启、停止和重启,及常见错误...
- 数据结构 | 实现串(定长顺序存储表示法)
- Android开发之Base64与bitmap互转的工具类
- vba校对统计不同工作薄(2)
- 6-6 归并排序(递归法) (10分)
- Linux系统特殊符号的作用
- mybatis的多AND条件查询。批量插入。String分割查询。
- 戴尔optiplex3020主板接线_戴尔XPS 13 2020上手,12999元的高端精致怪,让苹果也很有压力!...
- adb命令刷入kingroot_一加5工具箱:一加5玩机神器|刷机工具箱|解锁上锁|刷机root|解密data,一键Xposed...
- Android Studio如何用无线(WiFi)连接手机进行调试
- 关于开源的RTP——jrtplib的使用(2)
- 哈佛大学——差异表达分析(八)假设检验和多重检验校正
- 太和二中计算机考试,太和二中网上阅卷系统|翰林金榜太和二中查分系统 网页版_最火手机站...
- 上班第一天,人工智能的各路“谈资”已为你备好
- brew cask安装软件提示:Error: Unknown command: cask
- 分鱼问题c语言,五人分鱼问题(附答案)
- 毕业设计 单片机智能饮水机系统 - 物联网 嵌入式