【发布时间】:2019-06-29 01:16:38
【问题描述】:
我运行 HBase 2.0.0.3.0.2.0-50 并在 trainsition 中有一个区域。这导致我的表变得无法访问。如何恢复这个区域?
通过hbase hbck 检查 hbase 结果
ERROR: Region {
meta => SYSTEM.STATS,,154...49.0ca06...916.,
hdfs => wasb://....blob.core.windows.net/hbase/data/default/
SYSTEM.STATS/0ca06...916,
deployed => ,
replicaId => 0
} not deployed on any region server.
此外,我还看到一个关于 hole in the Region chain 的错误:
ERROR: There is a hole in the region chain between
\x01...\x00 and \x02...\x00.
You need to create a new .regioninfo and region dir in hdfs to plug the hole.
一些答案建议使用hbase hbck 的-fix 开关。不幸的是,hbase hbck -fix 优雅地告诉我,这不再受支持:
NOTE: Following options are NOT supported as of HBase version 2.0+.
UNSUPPORTED Metadata Repair options: (expert features, use with caution!)
-fix Try to fix region assignments. This is for backwards compatiblity
...
http://hbase.apache.org/book.html#HBCK2 然后告诉我改用hbck2。编译并运行 (HBASE_CLASSPATH_PREFIX=~/hbase-hbck2.jar hbase org.apache.hbase.HBCK2) 后,我尝试使用带有编码区域名称 (0ca06...916) 的 assigns 选项重新分配区域
有趣的结果:
Exception in thread "main"
java.lang.UnsupportedOperationException:
Requires 2.0.3 at least.
怎么办?
【问题讨论】:
标签: hbase