由于hdfs的一些数据丢失,block块损坏,执行了hdfs fsck / -delete 来清除损坏块,之后重启HBase服务后发现启动异常,日志报错:
HBase file layout needs to be upgraded. You have version null and I want version 8. Consult http://hbase.apache.org/book.html for further information about upgrading HBase. Is your hbase.rootdir valid? If so, you may need to run 'hbase hbck -fixVersionFile'
出现该问题的原因是hdfs损坏的块包含hbase.version文件,导致清除的时候连同该文件也一同清除了,所以会报上述问题,如果不考虑数据丢失的情况,可以删除hadoop中的hbase文件夹重启hbase服务即可,删除hbase目录指令为:
hadoop fs -rm -r /hbase