路由Region过程

client路由到正确HRegionServer
在HBase中,大部分操作都是在HRegionServer完成的。
HResionServer:就是管理要操作的Region。client并不知道HRegionServer管理哪个Region。
-ROOT-和.META.:是HBase的两张内置表。 从存储结构和操作方法角度来说,和其它HBase表无区别。只是存重要系统信息——Region的分布情况及每个Region的详细信息。

Tbl非常大,划分成很多的Region——.META.有很多条Row来记录Region。 当region非常多导致.META非常也划分成多个,就有可能多个HRegionServer管理.META.
所以引入-ROOT-来记录.META.的Region信息。

管理-ROOT-表的HRegionServer地址存在ZK中,-ROOT-不会太多。

优缺点:
优:1.列可动态增加,并且列为空就不存储数据,节省存储空间
    2.HBase自动切分数据
    3.HBase可以提供高并发读写操作的支持
缺点
    1.不支持条件查询,只支持按row key来查询
    2.暂不支持Master Server的故障切换,当Master宕机,整个系统就挂掉

Region虽然是分布式存储最小单元,但不是存储最小单元,Region=一个或多个Store组成(对应一个/多个列簇; hdfs系统中则对应着一个目录)。 Store=MemStore + StoreFile(0至多个StoreFile组成)

ZK:
1.保证任何时候,集群只有一个Maser
2.存储所有Region的寻址入口
3.监控RegionServer状态,将RS上/下线实时通知Master
Master:
a.为RS分配region
2.负责RS的负载均衡
3.发现失败RS并重分配其上的region
4.处理schema更新请求
RS:
1.RS维护Master分配给它的Region,处理对这些region IO请求
2.负责切分运行过程中变得过大的region

WAL:是HBase的HRegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。
    HRegionServer上所有Region共享Hlog文件
为什么不每个TBL对应一个Hlog? 原因HRegionServer个数可以衡量分布式系统规模, 一个大表(10亿),上百节点。而TBL大小完全由应用层来决定。
缺点:给系统带来性能影响



  路由Region过程

你可能感兴趣的:(reg)