🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 系统架构图 ![](https://box.kancloud.cn/60a88bf2ea766dedff4a1731b4fe3729_1058x596.png) # Client 1. 包含访问hbase的接口,client维护着一些cache来加快对hbase的访问(经常访问的数据放到块缓存),比如regione的位置信息。 # Zookeeper 1. 保证任何时候,集群中只有一个master 2. 存贮所有Region的寻址入口----root表在哪台服务器上。 3. 实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master 4. 存储Hbase的schema,包括有哪些table,每个table有哪些column family # Master职责 1. 为Region server分配region 2. 负责region server的负载均衡 3. 发现失效的region server并重新分配其上的region 4. HDFS上的垃圾文件回收 5. 处理schema更新请求 # Region Server职责 1. Region server维护Master分配给它的region,处理对这些region的IO请求 2. Region server负责切分在运行过程中变得过大的region 可以看到,client访问hbase上数据的过程并不需要master参与(寻址访问zookeeper和region server,数据读写访问regione server),master仅仅维护者table和region的元数据信息,负载很低。 # 数据更新 点击web管理页面中的表 ![](https://box.kancloud.cn/08c6cd70af9a9af20567921eb2d6c696_1436x698.png) 上面是合并,下面是切分,合并有小的合并也有大的合并,大的合并是把一些store file合并成一个 ![](https://box.kancloud.cn/f561e6d664f518857a44835b915c3da1_1212x406.png) 数据修改删除并不会从hdfs上真正的去掉,旧数据还是会冗余的