线上集群Hbase的 hbase.version 文件突然消失了

线上集群Hbase的 hbase.version 文件突然消失了,
原因不明,造成整个集群瘫痪了,Hbase master 启动不了了。

Hagrid

赞同来自:

报的错误和这个一样 http://www.cnblogs.com/colorfulkoala/archive/2013/03/25/2980628.html   已经按这个帖子步骤操作了。 现在报这个错误:    

fish - Hadooper

赞同来自:

被人删了吧。

Hagrid

赞同来自:

没人动过这个,就是hbase一直在入库。

Hagrid

赞同来自:

@fish 以下操作能做吗 Hbase 集群部署启动后几秒自动退出异常处理, 1.hadoop 与 hbase 版本不兼容,会导致此异常。 2.log 为 org.apache.hadoop.hbase.TableExistsException: hbase:namespace 异常, 很可能是更换了Hbase的版本过后zookeeper还保留着上一次的Hbase设置,所以造成了冲突。  解决方案:(这里作者就出现过这个错误 搞了好几个小时才定位到是这个错误) 1.切换到zookeeper的bin目录; 2.执行$sh zkCli.sh 输入 ls / 4.输入rmr /hbase 5.退出重启即可

mopishv0 - 高级开发工程师@美团

赞同来自:

version文件不见了是指块丢了?还是文件被删了?如果是文件被删了,可以通过HDFS审计日志确定是由谁或者节点删的,如果没了也可以尝试从其他同版本集群中拷贝回来。 关于TableExistsException,看着应该是在做集群初始化的过程中有残留信息导致的。ZK可以删,但是如果有replication的话,偏移量信息会丢失。

Hagrid

赞同来自:

原本hbase.version 文件在HDFS上/hbase 目录下,但是HBase集群在高入库负载情况下,Regionserver下线很多,只剩两个Regionserver,再次重启Hbase时,发现hbase.version文件丢失,且以前入库的数据大量丢失。@mopishv0

Hagrid

赞同来自:

在事故发生时,HDFS namenode日志报大量删除数据块的日志    

Hagrid

赞同来自:

事故在8点到9点之间发现: HDFS 日志摘录  

Hagrid

赞同来自:

hdfs收到大量删除请求 

Hagrid

赞同来自:

在以往的NameNode日志中也有这样个别的几个让删除数据块的日志,但是这次事故出现大规模全部删除。还是怀疑hbase.version 文件意外丢失有关。在NameNode日志中,找不到删除/hbase/hbase.version 的log

fish - Hadooper

赞同来自:

顶层目录是否被误删了? namenode被重启过么? 有没强制退出safemode的操作? 有没有加载错误版本fsimage的可能?

要回复问题请先登录注册