HBase-1
1、详述hbase的架构
Client:包含访问HBase的接口并维护cache来加快对HBase的访问
Zookeeper:保证集群中只有一个活跃master,存储所有Region的寻址入口,实时监控Region server的上线和下线信息并实时通知Master存储HBase的schema和table元数据。
HMaster:为Region server分配region,负责Region server的负载均衡,发现失效的Region server并重新分配其上的region,管理用户对table的增删改操作。
HRegionServer:维护region,处理对这些region的IO请求,负责切分在运行过程中变得过大的region。
HRegion: HRegion是HBase中分布式存储和负载均衡的最小单元,表示不同的HRegion可以分布在不同的 HRegion server上。每个HRegion由多个Store构成,每个Store保存一个列族(Columns Family),表有几个列族,则有几个Store。
Memstore 与 storefile:每个Store由一个MemStore和多个StoreFile组成,MemStore是Store在内存中的内容,写到文件后就是StoreFile。StoreFile底层是以HFile的格式保存。
HLog(WAL log):WAL意为write ahead log(预写日志),用来做灾难恢复使用,HLog记录数据的变更,包括序列号和实际数据,所以一旦region server 宕机,就可以从log中回滚还没有持久化的数据。
**DataNode:**存储Hbase的Hlog及Hbase表的Hfile的文件持久化存储
2、详述hbase的组件及其作用
Client
1. 整个HBase集群的访问入口;
2. 使用HBase RPC机制与HMaster和HRegionServer进行通信;
3. 使用HMaster进行通信进行管理类操作;
4. 与HRegionServer进行数据读写类操作;
5. 包含访问HBase的接口,并维护cache来加快对HBase的访问。
Zookeeper
1. 保证任何时候,集群中只有一个HMaster;
2. 存储所有的HRegion的寻址入口;
3. 实时监控HRegionServer的上线和下线信息,并实时通知给HMaster;
4. 存储HBase的schema和table元数据;
5. Zookeeper Quorum存储-ROOT-表地址、HMaster地址。
HMaster
1、HMaster没有单节点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master在运行,主要负责Table和Region的管理工作。
2、管理用户对表的增删改查操作;
3、负责Region server的负载均衡,发现失效的Region server并重新分配其上的region
4、Region Split后,负责新Region的分布;
5、在HRegionServer停机后,负责失效HRegionServer上Region迁移工作。
HRegionServer