Hbase各组件职责

Hbase各组件职责

Client职责

1、HBase有两张特殊表: .META.:记录了用户所有表拆分出来的的Region映射信息,.META.可以有多个Regoin -ROOT-:记录了.META.表的Region信息,-ROOT-只有一个Region,无论如何不会分裂 
2、Client访问用户数据前需要首先访问ZooKeeper,找到-ROOT-表的Region所在的服务器位置,然后访 问-ROOT-表,接着访问.META.表,最后才能找到用户数据的服务器位置去访问,中间需要多次网络操作,不 过client端会做cache缓存。

ZooKeeper**职责

1、ZooKeeper为HBase提供Failover机制,选举Master,避免单点Master单点故障问题 
2、存储所有Region的寻址入口:-ROOT-表在哪台服务器上。-ROOT-这张表的位置信息
3、实时监控RegionServer的状态,将RegionServer的上线和下线信息实时通知给Master 
4、存储HBase的Schema,包括有哪些Table,每个Table有哪些Column Family

Master职责

1、为RegionServer分配Region 
2、负责RegionServer的负载均衡 
3、发现失效的RegionServer并重新分配其上的Region master是管理者,一个hbase系统会有很多表,每个表又有很多region,那么这些region到底交给那 些region来管理就是由 master来决定 
4、HDFS上的垃圾文件(HBase)回收 region会compact也会split,必然会有失效的数据 
5、处理Schema更新请求(表的创建,删除,修改,列簇的增加等等) 这些关于schema的数据都是存储在ZOOKEeper,但是是master是负责更新的 如果涉及到表的创建,修改,删除等操作,master宕机了就没法做,但是数据的插入和查询还是可以继续做

RegionServer职责

1、RegionServer维护Master分配给它的Region,处理对这些Region的IO请求 2、负责和底层的文件系统HDFS的交互,存储数据到HDFS 每个regionserver内部都有一个客户端(datnaode的代理)。 负责把数据写入到HDFS 3、负责Store中的HFile的合并Compact工作 + split工作 4、RegionServer负责Split在运行过程中变得过大的Region,负责Compact操作 SplitPolicy 分割策略:有三个默认的策略!

如果master宕机了,那些事情不能做:

1、创建,修改,删除,表
2、负责均衡不能做 
3、split不能做了。

那些操作能继续做呢?

1、读数据 2、写数据
posted @ 2020-12-19 10:33  宁君  阅读(368)  评论(0编辑  收藏  举报