大数据课程G2——Hbase的基本架构

文章作者邮箱:[email protected]              地址:广东惠州

 ▲ 本章节目的

⚪ 掌握Hbase的基本架构;

⚪ 掌握Hbase的读写流程;

⚪ 掌握Hbase的设计与优化;

一、基本架构

1. HRegion

1. 在HBase中,会将一个表从行键方向上进行切分,切分成1个或者多个HRegion。

2. 切分之后,每一个HRegion都会交给某一个HRegionServer来进行管理。

3. 一个表至少会包含1个HRegion,可以包含多个HRegion。

4. 在HBase中,行键是有序的,因此从行键方向上来进行的切分,所以HRegion之间的数据是不交叉的。

5. 因为HRegionServer会交给HRegionServer来管理,并且HRegion之间的数据相互不交叉,所以保证请求不会集中于某一个节点上而是会分散到不同的节点上。

6. 随着运行时间的推移,HRegion管理的数据会不断增多,达到指定条件的时候,会自动的进行分裂。

7. 每一个HRegion包含1个到多个HStore,HStore的数量由列族的数量来决定。

8. 每一个HStore都会包含1个memStore以及包含0到多个StoreFile/HFile。

2. Zookeeper的作用 

1. 在HBase中,Zookeeper充当了注册中心。

2. 当HBase启动之后,会自动的在Zookeeper上来注册一个/hbase节点。

3. 当Active HMaster启动之后,会自动的在Zookeeper上注册一个临时节点/hbase/master - 当Active HMaster宕机之后,这个临时节点就会消失,此时Zookeeper就会从Backup HMasters中选择最早注册的节点来切换为Active状态。

4. 当Backup HMaster启动之后,会自动的在Zookeeper的/hbase/backup-masters节点上注册一个临时子节点。

5. 当HRegionServer启动之后,也会自动的在Zookeeper的/hbase/rs节点下来注册子节点。

3. HMaster

1. 在HBase中,允许用户在任意一台安装了HBase的节点上来启动HMaster,理论上不限制HMaster的数量。

2. HMaster启动命令:

hbase-daemon.sh start master

3. 在HBase中,如果启动了多个HMaster,那么HMaster之间就会分为Active和Backup两种状态。

4. 如果启动多个HMaster,那么最先注册到Zookeeper上的HMaster就会成为Active状态,后注册到Zookeeper上的HMaster就会成为Backup状态。

5. 当Active HMaster接收到请求之后,需要考虑将数据同步给其他的Backup HMasters。同步的节点数量越多,此时效率就会越低。

6. 因此在HBase中,虽然理论上不限制HMaster的个数,但是实际过程中,HMaster的个数一般不会超过3个:1个Active HMaster+2个Backup HMasters。

7. Active HMaster会实时监控Zookeeper上/h

猜你喜欢

转载自blog.csdn.net/u013955758/article/details/132032331
今日推荐