我运行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
该怎么办?
答案 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
并重新启动所有区域服务器/服务可以解决此问题。