一:整体架构
1.体系结构
2.物理模型
3.存储体系
regionserver—>region->多个store(列簇)->一个memstore和多个storefile
4.HDFS上的目录结构
namespace—》table-》region-》列簇-》storefile
5.整体结构
6.HBASE的存储结构
7.写入流程
二:各个模块的功能
1.client
整个HBase集群的访问入口;
使用HBase RPC机制与HMaster和HRegionServer进行通信; 与HMaster进行通信进行管理类操作; 与HRegionServer进行数据读写类操作; 包含访问HBase的接口,并维护cache来加快对HBase的访问
2.Zookeeper
保证任何时候,集群中只有一个HMaster;
存贮所有HRegion的寻址入口; 实时监控HRegion Server的上线和下线信息,并实时通知给HMaster; 存储HBase的schema和table元数据;
3.HMaster
HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master在运行,主负责Table和Region的管理工作。
管理用户对table的增删改查操作; 管理HRegionServer的负载均衡,调整Region分布; Region Split后,负责新Region的分布; 在HRegionServer停机后,负责失效HRegionServer上Region迁移工作。
4.HRegionserver
维护HRegion,处理对这些HRegion的IO请求,向HDFS文件系统中读写数据;
负责切分在运行过程中变得过大的HRegion。 Client访问hbase上数据的过程并不需要master参与(寻址访问Zookeeper和HRegion Server,数据读写访问HRegione Server),HMaster仅仅维护这table和 Region的元数据信息,负载很低。
5.HBase与Zookeeper