hbase各个角色的分工
hmaster 的职责
- 1)进行region的分配,决定每一个region 分到哪一个regionserver上。
- 2)负责 RegionServer 的负载均衡。
- 3)通过zookeeper发现失效的 RegionServer 并重新分配其上的 region。
- 4)HDFS 上的垃圾文件回收(hbase产生的垃圾)。
- 5)处理 schema 更新请求(表的创建,删除,修改,列簇的增加等等)将schema 写入zookeeper中。
hregionserver 的职责
- 1)管理master分配的region,处理I/O请求。
- 2)负责每一个regioin的分裂,compact操作。
zookeeper 的职责
zookeeper非常重要,没有zookeeper,hbase读写都无法进行。
- 1)进行hmaster的active的选举。
- 2)存储hbase的寻址机制。
- 3)存储regionserver的存活状态。master通过zookeeper获取每一个regionserver的状态。
ls /hbase/rs 可以查看 - 4)存储表的schema (表结构)信息。(相当于元数据)
ls /hbase/namespace 或者 ls /hbase/table
通过各个角色的分工可以看到,hmaster是可以一定程度的宕机。但是zookeeper必须实时响应。