hbase各组件的作用是什么

发布时间:2021-06-25 14:20:32 作者:Leah
来源:亿速云 阅读:591

这篇文章将为大家详细讲解有关hbase各组件的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Zookeeper的作用

保证任何时候,集群中只有一个master
存贮所有Region的寻址入口。
实时监控RegionServer的状态,将Region server的上线和下线信息实时通知给Master
存储Hbase的schema,包括有哪些table,每个table有哪些column family 

Hmaster的作用 

Zookeeper避免了HMaster的单点问题,一个Hbase集群可以启动多个HMaster,而Zookeeper通过Election的方式保证集群中只有一个HMaster处于live的状态。其它都处于休眠的状态,如果HMaster出现问题,则Zookeeper 则唤醒其它休眠的HMaster。

1、管理用户对Table的增、删、改、查操作

2、管理RegionServer的负载均衡、调整Region的分布

3、在Region Split后,将新Region分布到不同的RegionServer。
4、在RegionServer宕机后,那该RegionServer上所管理的Region 由HMaster进行重新分配。
总结HMaster 的主要任务:1、HTable DDL 操作 2、Region 分配工作。 其余的基本上都是client 和RegionServer打交道来完成的。

HRegionServer的作用

HRegionServer 主要负责相应用户的I/O请求,进而跟HDFS交互,从HDFS中读写数据,虽然每个进程都很重要,但个人认为HRegionServer是HBase中最核心的进程。
            下面对HRegionServer的内部结构做一个简单描述:
            HRegionServer 内部管理了一系列的HRegion对象,HRegion和Region是一回事吗?其实HRegion对应了Table中的一个Region,HRegion是对其进行的封装。每个HRegion中由多个HStore组成。
            HStore则对应Table中的Column Family,不论此Column Family 内部有多少数据,都会创建一个新的HStore,因此将相同属性的数据放进相同的Column Family 很有必要,避免一次访问,访问多个HStore,性能低下。而HStore 则是HBase的核心的存储单元了,而HStore 由两个部分组成,一时MemStore,再就是StoreFile
            MemStore 是Sorted Memory Buffer ,client 写入的数据先写入MemStore,当达到MemStore的阀值时,将其Flush 成为一个StoreFile(HFile),StoreFile 则是存储在硬盘上的文件

HBase的第一次读写

在HBase 0.96以后去掉了-ROOT- Table,只剩下这个特殊的目录表叫做Meta Table(hbase:meta),它存储了集群中所有用户HRegion的位置信息,而ZooKeeper的节点中(/hbase/meta-region-server)存储的则直接是这个Meta Table的位置,并且这个Meta Table如以前的-ROOT- Table一样是不可split的。这样,客户端在第一次访问用户Table的流程就变成了:

  从ZooKeeper(/hbase/meta-region-server)中获取hbase:meta的位置(HRegionServer的位置),缓存该位置信息。

  从HRegionServer中查询用户Table对应请求的RowKey所在的HRegionServer,缓存该位置信息。

  从查询到HRegionServer中读取Row。

  从这个过程中,我们发现客户会缓存这些位置信息,然而第二步它只是缓存当前RowKey对应的HRegion的位置,因而如果下一个要查的RowKey不在同一个HRegion中,则需要继续查询hbase:meta所在的HRegion,然而随着时间的推移,客户端缓存的位置信息越来越多,以至于不需要再次查找hbase:meta Table的信息,除非某个HRegion因为宕机或Split被移动,此时需要重新查询并且更新缓存。

hbase各组件的作用是什么

关于hbase各组件的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. Hbase组件间交互
  2. react高阶组件的作用是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hbase

上一篇:Spring Boot接口访问404怎么解决

下一篇:Go语言Slice切片操作会使原数据出现混乱的原因是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》