hbase客户端的缓存什么时候更新?Master怎么处理?

参与3

1同行回答

空kong空kong其它某单位
客户端首先通过 hbase:meta 表找到服务指定范围的行的 RegionServer ,在定位到是哪个 Region 之后,客户端直接联系 RegionServer ,而没有经过 Master ,然后发出读写请求。当 Region 被 Master 重新分配,或者某个 RegionSever 挂掉的时候,客户端会重新的查询索引表 hbase:meta ...显示全部

客户端首先通过 hbase:meta 表找到服务指定范围的行的 RegionServer ,在定位到是哪个 Region 之后,客户端直接联系 RegionServer ,而没有经过 Master ,然后发出读写请求。当 Region 被 Master 重新分配,或者某个 RegionSever 挂掉的时候,客户端会重新的查询索引表 hbase:meta 来决定新的 region 位置。当 RegionServer 挂掉的时候, Master 节点是可以感知到的, Master 做 RegionServer 的协调工作,会通知 RegionSever ,在客户端查的时候也知道数据改变了,可以再次请求索引表 hbase:meta 。

一个常问的问题就是 Master 挂掉的时候, Hbase 会发生什么事情,因为 Hbase 客户端是直接和 RegionServer 进行通信,而且 hbase:meta 表并没有存在 Master 节点上, Master 只是进行 RegionServer 的故障恢复和 Region 的切分,因此在 Master 挂掉的短时间内, Hbase 还能正常的工作,只不过要尽可能快的修复 Master 。

Master 节点感知的元数据改变是粒度比较大的,比如表改变,列簇改变, Region 的切分,合并,移动,都不是频繁的发生的情况。

收起
保险 · 2020-02-13
浏览1724

提问者

care
care002
项目经理某单位

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-02-12
  • 关注会员:2 人
  • 问题浏览:3250
  • 最近回答:2020-02-13
  • X社区推广