HBase 2.0.0:区域链中转换孔中的区域

时间:2019-02-05 08:56:15

标签: hbase

我运行HBase awk '{print $NF}' <INPUT_FILE> -> takes the last field in the input file awk -F'/' '{print $(NF-1)}' -> cuts the last filed with / as delimiter and takes the penultimate column ,并且在训练中只有一个Region。这导致我的表无法访问。如何把这个地区带回来?

通过2.0.0.3.0.2.0-50检查hbase会导致

hbase hbck

此外,我还看到关于 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. 的{​​{1}}开关。不幸的是,-fix优雅地告诉我:

hbase hbck

http://hbase.apache.org/book.html#HBCK2然后告诉我改为使用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 ... )后,我尝试使用带有编码的区域名称(hbck2)的HBASE_CLASSPATH_PREFIX=~/hbase-hbck2.jar hbase org.apache.hbase.HBCK2选项重新分配Region

有趣的结果:

assigns

该怎么办?

1 个答案:

答案 0 :(得分:0)

事实证明HBase中存在配置错误:HBase日志包含另一个错误:

hbase-hbase-regionserver-....log 2019-... ERROR [RS_LOG_REPLAY_OPS-regionserver/...] wal.WALSplitter: 
Got while writing log entry to log java.io.IOException: 
cannot get log writerat 
org.apache.hadoop.hbase.wal.FSHLogProvider.createWriter(FSHLogProvider.java:96) 
Caused by: 
org.apache.hadoop.hbase.util.CommonFSUtils$StreamLacksCapabilityException: hflush {code}

hbase.unsafe.stream.capability.enforce中将false设置为hbase-site.xml并重新启动所有区域服务器/服务可以解决此问题。