【转】WARNING! File system needs to be upgraded. You have version null and I want version 7. Run the '${HBASE_HOME}/bin/hbase migrate' script. 的解决办法
前段时间集群出问题,hadoop和hbase启动不了了。
后来hadoop回复了,hbase死活master无法启动。打开日志发现报了以下错误:
WARNING! File system needs to be upgraded. You have version null and I want version 7. Run the '${HBASE_HOME}/bin/hbase migrate' script.
于是上网search,网上这位兄弟提供了解决办法:
http://www.cnblogs.com/colorfulkoala/archive/2013/03/25/2980628.html
现在摘录如下:
WARNING! File system needs to be upgraded. You have version null and I want version 7. Run the '${HBASE_HOME}/bin/hbase migrate' script.
不用担心,其实你只是缺少个正常的hbase.version文件!
机房整体停电,集群所有节点都挂掉了。这种情况很少见,但是在管理不善的实验室也会时有发生。所以要沉着应对,相信hadoop的容灾性,一定能恢复数据。
hdfs的备份数只有2,长期在跑的有个数据不大的入库程序,节点很少才5个。
首先启动hadoop之后先运行
bin/hadoop dfsadmin -safemode wait
等待其退出安全模式,发现半分钟后没有反映,意识到肯定是出问题了在运行:
bin/hadoop fsck /
检查一下hdfs的健康状态,发现有很多corrupt blocks,不过还好备份数大于1.此时,hdfs需要自动的把备份数增加到2,所以需要对数据进行写操作,必须退出安全模式,于是:
bin/hadoop dfsadmin -safemode leave
关闭之后等待集群把数据备份好,达到2,吃个饭回来,运行:
bin/hadoop fsck -move
把那些破坏的块移到/lost+found这个目录下面,启动Hbase,发现Hmaster启动之后就悄悄挂调了,查看日志:
WARNING! File system needs to be upgraded. You have version null and I want version 7. Run the '${HBASE_HOME}/bin/hbase migrate' script.
而zk日志显示 client端关闭了session。很多人按照他的提示运行了migrate脚本,实际上这个会报错:ClassNotFound。这就奇怪了,文件系统居然要求升级,这很不科学。我看很多网友的做法是先把/hbase清理调,然后重启就好了,但是以前的数据就丢失了,这更不科学。于是我:
bin/hadoop -ls /hbase
发现/hbase/hbase.version已经消失了,这才恍然大悟,原来是之前的这个文件可能被损坏了,去/lost+found目录找确实能找到,但是这个文件似乎出了问题,-ls它也看不到。于是想到一个办法,我做了以下操作:
bin/hadoop fs -mv /hbase /hbase.bk
重启HBase,这时就生成了/hbase/hbase.version文件,然后:
bin/hadoop fs -cp /hbase/hbase.version /hbase.bk/
bin/hadoop fs -rmr /hbase
bin/hadoop fs -mv /hbase.bk /hbase
这样再次重启HBase,发现Hbase开始splitting hlogs,数据得以恢复。
【转】WARNING! File system needs to be upgraded. You have version null and I want version 7. Run the '${HBASE_HOME}/bin/hbase migrate' script. 的解决办法的更多相关文章
- File system needs to be upgraded. You have version null and I want version 7
安装hbase时候报错: File system needs to be upgraded. You have version null and I want version 7 注: 我安装的hba ...
- Unity3d 提示 "The scripts file name does not match the name of the class defined in the script!"的解决办法
有两个原因,一个是文件的名称和类名不一致 第二个原因是有命名空间, 排除应该是可以修复的
- Extension of write anywhere file system layout
A file system layout apportions an underlying physical volume into one or more virtual volumes (vvol ...
- 【ASP.NET MVC】"[A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为 ..."的解决办法
1.错误页面: “/”应用程序中的服务器错误. [A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为 [B]System.Web ...
- cloudera-agent启动File not found : /usr/sbin/cmf-agent解决办法(图文详解)
不多说,直接上干货! 问题详情 bigdata@nssa-sensor1:~$ sudo service cloudera-scm-agent startFile not found : /usr/s ...
- 下载的pod链接失效,build diff: /../Podfile.lock: No such file or directory解决办法
build diff: /../Podfile.lock: No such file or directory 1.终端进入文件路径,执行pod install 2.在工程设置中的Build Phas ...
- Linux 执行partprobe命令时遇到Unable to open /dev/sr0 read-write (Read-only file system)
在使用fdisk创建分区时,我们会使用partprobe命令可以使kernel重新读取分区信息,从而避免重启系统,但是有时候会遇到下面错误信息"Warning: Unable to open ...
- ORA-00245: control file backup failed; target is likely on a local file system
ORACLE11G RAC alert报错如下:Errors in file /u01/app/oracle/diag/rdbms/dljyzs/dljyzs1/trace/dljyzs1_ora_8 ...
- rm: cannot remove `/home/cn0000/log/formlog.20140417': Read-only file system
[root@localhost home]# su - cn0000 rm: cannot remove `/home/cn0000/log/monitor_xmllog.20140417': Rea ...
随机推荐
- JAVA eclipse 安装lombok
1.下载lombok http://projectlombok.org/download.html 2.点击安装: 如果eclipse没有安装到默认目录,那么需要点击Specify选择eclipse的 ...
- XAMPP phpmyadmin MYSQL的配置
1\xampp phpmyadmin的配置 1.打开“路径/phpmyadmin/libraries/config.default.php”,查找相关项并修改为以下内容: $cfg['PmaAbsol ...
- jmap 命令
1. jmap -heap pid 查看java 堆(heap)使用情况 using thread-local object allocation. ...
- 【leetcode】solution in java——Easy4
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6415011.html 16:Invert Binary Tree 此题:以根为对称轴,反转二叉树. 思路:看到 ...
- Permutation Sequence 序列排序
The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the p ...
- DDIA
https://vonng.gitbooks.io/ddia-cn/content/ch7.html
- java 截取字符串
java 截取字符串 CreationTime--2018年7月17日16点37分 Author:Marydon 1.去除最后一个字符 方式一:String 方式二:StringBuilder.S ...
- 转:Linux网卡驱动程序编写
Linux网卡驱动程序编写 [摘自 LinuxAID] 工作需要写了我们公司一块网卡的Linux驱动程序.经历一个从无到有的过程,深感技术交流的重要.Linux作为挑战微软垄断的强有力武器,日益受到大 ...
- Qt中的QTableView 中的列放入Widget
QTableView是Qt中Model View理念的框架,View只展现数据,所以通过互交修改编辑数据,需要用到委托这个概念Delegate. 所以基本思路是继承QItemDelegate这个类,然 ...
- empty、isset、is_null的比较
直接上代码 <?php $a=0; $b='0'; $c=0.0; $d=''; $e=NULL; $f=array(); $g='\0'; $h=' ';//space $i=true; $j ...