Region的管理

前提:一个region只能分配给一个region server

1、master记录了当前有哪些可用的region server。以及当前哪些region分配给了哪些region server,哪些region 还没有分配。

2、当需要分配的新的region,并且有一个region server上有可用空间时,master就给这个region server发送一个装 载请求,把region分配给这个region server。

3、region server得到请求后,就开始对此region提供服务。

region server上线

前提:master使用zookeeper来跟踪region server状态。

1、当某个region server启动时,首先在zookeeper上的/hbase/rs目录下建立代表自己的znode。

2、 master订阅了/hbase/rs目录上的变更消息,当/hbase/rs目录下的文件出现新增或删除操作时,master可以得 到来自zookeeper的实时通知。因此一旦region server上线,master能马上得到消息。

region server下线

前提:master使用zookeeper来跟踪region server状态。

1、当region server下线时,它和zookeeper的会话断开。

2、zookeeper而自动释放代表这台server的文件上的独占锁(znode)

3、zookeeper将变化发送给master

4、master 将挂掉的region server的region分配给其它还活着的regionserver。

发布了42 篇原创文章 · 获赞 47 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_43791724/article/details/103570941