hbase三层结构及其作用 hbase的三层结构

您所在的位置:网站首页 简述HBase的体系结构 hbase三层结构及其作用 hbase的三层结构

hbase三层结构及其作用 hbase的三层结构

2024-07-06 00:07| 来源: 网络整理| 查看: 265

HBase功能组件主要有三个:库函数、master、region

主服务器Master负责管理和维护HBase表的分区信息,维护Region服务器列表,分配Region,负载均衡

Region服务器负责存储和维护分配给自己的Region,处理来自客户端的读写请求

客户端并不直接从master主服务器上读取数据

客户端并不依赖master,而是通过zookeeper;来获得region位置信息,大多数客户端甚至从来不和master通信,这种设计方式使得master负载很小。

表和region的关系

一个HBase表被划分多个region

开始只有一个region 后来不断的分裂

region拆分操作非常快接近瞬间 ,因为拆分之后的region读取的仍然是原存储文件,直到合并过程把存储文件异步地写到独立的文件之后,才会读取新文件

•每个Region默认大小是100MB到200MB(2006年以前的硬件配置)

•每个Region的最佳大小取决于单台服务器的有效处理能力

•目前每个Region最佳大小建议1GB-2GB(2013年以后的硬件配置)

•同一个Region不会被分拆到多个Region服务器

•每个Region服务器存储10-1000个Region

不同的Region可以分布在不同的Region服务器上

  Region的定位

 

•元数据表,又名.META.表,存储了Region和Region服务器的映射关系

•当HBase表很大时, .META.表也会被分裂成多个Region

•根数据表,又名-ROOT-表,记录所有元数据的具体位置

•-ROOT-表只有唯一一个Region,名字是在程序中被写死的

•Zookeeper文件记录了-ROOT-表的位置

hbase三层结构及其作用 hbase的三层结构_客户端

•为了加快访问速度,.META.表的全部Region都会被保存在内存中

•假设.META.表的每行(一个映射条目)在内存中大约占用1KB,并且每个Region限制为128MB,那么,上面的三层结构可以保存的用户数据表的Region数目的计算方法是:

•(-ROOT-表能够寻址的.META.表的Region个数)×(每个.META.表的Region可以寻址的用户数据表的Region个数)

•一个-ROOT-表最多只能有一个Region,也就是最多只能有128MB,按照每行(一个映射条目)占用1KB内存计算,128MB空间可以容纳128MB/1KB=217行,也就是说,一个-ROOT-表可以寻址217个.META.表的Region。

•同理,每个.META.表的Region可以寻址的用户数据表的Region个数是128MB/1KB=217。

•最终,三层结构可以保存的Region数目是(128MB/1KB)×(128MB/1KB) = 234个Region

客户端访问数据时的“三级寻址”

• 为了加速寻址,客户端会缓存位置信息,同时,需要解决缓存失效问题

• 寻址过程客户端只需要询问 Zookeeper 服务器,不需要连接 Master 服务器



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3