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

线上集群Hbase的 hbase.version 文件突然消失了,
原因不明,造成整个集群瘫痪了,Hbase master 启动不了了。
已邀请:
报的错误和这个一样 http://www.cnblogs.com/colorfulkoala/archive/2013/03/25/2980628.html
 
已经按这个帖子步骤操作了。
现在报这个错误:
 
 

fish - Hadooper

被人删了吧。
没人动过这个,就是hbase一直在入库。
@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的话,偏移量信息会丢失。
原本hbase.version 文件在HDFS上/hbase 目录下,但是HBase集群在高入库负载情况下,Regionserver下线很多,只剩两个Regionserver,再次重启Hbase时,发现hbase.version文件丢失,且以前入库的数据大量丢失。@http://wenda.chinahadoop.cn/people/mopishv0
在事故发生时,HDFS namenode日志报大量删除数据块的日志
 
 
事故在8点到9点之间发现:
HDFS 日志摘录
 
hdfs收到大量删除请求 
在以往的NameNode日志中也有这样个别的几个让删除数据块的日志,但是这次事故出现大规模全部删除。还是怀疑hbase.version 文件意外丢失有关。在NameNode日志中,找不到删除/hbase/hbase.version 的log

fish - Hadooper

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

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

没开审计日志?
审计日志是这个吗?
# hdfs audit logging
#
hdfs.audit.logger=INFO,NullAppender
hdfs.audit.log.maxfilesize=256MB
hdfs.audit.log.maxbackupindex=20
log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger}
log4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false
log4j.appender.RFAAUDIT=org.apache.log4j.RollingFileAppender
log4j.appender.RFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log
log4j.appender.RFAAUDIT.layout=org.apache.log4j.PatternLayout
log4j.appender.RFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
log4j.appender.RFAAUDIT.MaxFileSize=${hdfs.audit.log.maxfilesize}
log4j.appender.RFAAUDIT.MaxBackupIndex=${hdfs.audit.log.maxbackupindex}
没有见审计日志:hdfs-audit.log
 

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

嗯,auditlog

要回复问题请先登录注册