我对Hbase -ROOT-表和.META表的位置有疑问。我已经读过Hbase -ROOT-表驻留在zookeeper的znode中,所以当客户端查询-ROOT-信息时找到.META的托管服务器。我怀疑.META是否驻留在一台服务器上。如果是,如果该服务器崩溃.META表的信息丢失。还是我错了?可以帮助任何人。
这是我的参考:https://blog.safaribooksonline.com/2012/11/16/tip-2-hbase-meta-layout/
答案 0 :(得分:8)
如The Apache HBase Reference Guide中所述,自从HBase 0.96.0起删除-ROOT-表,并且.META表的位置当前存储在Zookeeper中,其名称变为hbase:meta
目前,Meta数据驻留在单个服务器上,但有一个Open Ticket来复制hbase:meta的区域。
然而,HBase做了一些事情来克服这种不足:
答案 1 :(得分:1)
zookeeper存储托管-ROOT-的RegionServer的位置 扫描-ROOT-,找到.META的位置。 并通过扫描.META。您可以找到托管数据的位置
.META。和-ROOT-是表/区域作为您的表/区域。 所以,如果机器托管.META。或-ROOT-下降 他们将被重新分配到另一台机器并在此期间 连接尝试扫描-ROOT-或.META的新客户端。会收到错误 没有数据丢失,只有在重新分配后才能使用