Hbase 常见问题
Master 在hbase中的角色
分配region给region server,和regionserver的负载均衡
zookeeper在hbase中的角色
存储配置信息,分布式同步,负责客户端和region server交流
hregionserver在hbase中的角色
响应数据读写,管理region
hbase cataglog tables
Meta表,里面包含所以region和他们的位置信息
Hhbase write/write
读路径-blockcache(读缓存)–>memstore(写缓存)---------->hfile
写路径-WAL日志----->memstore--------->hfile文件
region server WAL
每个regionserver 只有一个wal日志,如果每个region一个,太多文件写,容易成为瓶颈
hbase compation
小合并:把相邻的region 全成一个大的
大合并:把region里的所有hfile 合成一个hfile,删除过期的数据和删除的数据
hbase split
测试来看 ,region split了均匀的两个子region,父region rowkey [a,b]
两个region的[a,x],[x,b]
region server 崩溃
region server 挂掉后,hmaster 将WAL日志分配给其它region server,重做里面的日志即可,因为WAL日志在HDFS上的,保证数据完整性
hbase 宕机
不影响读写数据,影响region的分裂
hbase memstore blockcache关系
一个region对应一个memstore
一个regionserver 对应 blockcache