HBase Region Locality

因为DataNode和RegionServer通常会部署在相同的机器上,所以会产生Locality这样的概念。

HBase的Locality是通过HDFS的Block复制实现的。在复制Block时,HBase是这样选择副本的位置的:

第一个副本写到本地节点上;
第二个副本写到另一个机架的随机节点上;
第三个副本写到相同机架的一个随机选择的其他节点上;
如果还有更多的副本,这些副本将会写到集群上的随机节点上。

就是这样,在flush或compact后,HBase的Region实现了Locality。

当一个RegionServer处在failover的情况下(rebalance或重启)时,可能会分配到一些没有本地StoreFiles的Region(因为此时没有可用的本地副本)。然而,有新数据再写入这些Region的时候,或者是对表进行compact的时候,StoreFiles将会被重写,这些Region也会再次变成RegionServer的“local”Region。

有一个相关的指标“data locality”,即Region保存在本地的StoreFile的百分比。这个指标影响了major compact的执行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HBase那些事 @(大数据工程学院)[HBase, Hadoop, 优化, HadoopChen, hbase]...
    分痴阅读 9,414评论 3 17
  • 1. HBase介绍,Hbase是什么? HBase -- Hadoop Database ,是一个高可靠、高性能...
    奉先阅读 9,227评论 1 36
  • 原创文章,转载请注明原作地址:http://www.jianshu.com/p/0f9578df7fbc 一. 架...
    EchoZhan阅读 15,227评论 4 33
  • 摘自:http://debugo.com/hbase-params/ 通用和master配置hbase.rootd...
    wangliang938阅读 7,756评论 1 5
  • Hbase架构与原理 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang所撰写的Goo...
    全能程序猿阅读 86,353评论 2 37