文档章节

hbase各组件的作用

 张欢19933
发布于 2016/04/21 15:48
字数 894
阅读 882
收藏 5

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的第一次读写

参考:http://www.thebigdata.cn/HBase/15305.html

在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被移动,此时需要重新查询并且更新缓存。

总结

从每个组件功能可以看出,如果Hmaster挂掉,并不影响数据的读写,而会导致元数据无法修改,以及region的分配工作。

 

 

 

本文转载自:http://blog.csdn.net/zhouleilei/article/details/12653243

粉丝 46
博文 538
码字总数 247200
作品 0
海淀
私信 提问
HBase基本知识介绍及典型案例分析

本文来自于2018年10月20日由中国 HBase 技术社区在武汉举办的中国 HBase Meetup 第六次线下交流会。 HBase基本知识介绍及典型案例分析 PPT 下载:http://hbase.group/slides/162 本次分享的内...

hbase小能手
2018/11/19
0
0
弥补MySQL和Redis短板:看HBase怎么确保高可用

HBase是一个基于Hadoop面向列的非关系型分布式数据库(NoSQL),设计概念来源于谷歌的BigTable模型,面向实时读写、随机访问大规模数据集的场景,是一个高可靠性、高性能、高伸缩的分布式存储...

张小渔
03/26
0
0
Hbase访问方式之Hbase shell

Hbase的访问方式 1、Native Java API:最常规和高效的访问方式; 2、HBase Shell:HBase的命令行工具,最简单的接口,适合HBase管理使用; 3、Thrift Gateway:利用Thrift序列化技术,支持C...

dragon_tech
03/06
34
0
分布式数据库 Hbase 的高可用管理和监控

HBase 作为 BigTable 的一个开源实现,随着其应用的普及,越来越被各大企业应用于海量数据系统中。本文将向读者简要介绍 Apache HBase 的基本知识,并展开介绍 IBM 对 HBase 的改进和扩展,H...

IBMdW
2013/06/14
3.1K
1
兑吧:从自建HBase迁移到阿里云HBase实战经验

业务介绍 兑吧集团包含兑吧网络和推啊网络,兑吧网络是一家致力于帮助互联网企业提升运营效率的用户运营服务平台,提供积分商城和媒体运营服务。推啊网络是一家互动式广告平台,经过多年的探...

所在jason
2018/06/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
13
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
13
0
【Medium 万赞好文】ViewModel 和 LIveData:模式 + 反模式

原文作者: Jose Alcérreca 原文地址: ViewModels and LiveData: Patterns + AntiPatterns 译者:秉心说 View 和 ViewModel 分配责任 理想情况下,ViewModel 应该对 Android 世界一无所知。...

秉心说
昨天
16
0
重学计算机组成原理(十二) - 异常和中断

1 概览 完好的程序都满足以下特征 自动运行 我们的程序和指令都是一条条顺序执行,不需要通过键盘或者网络给这个程序任何输入 正常运行 没有遇到计算溢出之类的程序错误。 不过,现实的软件世...

JavaEdge
昨天
11
0
程序设计基础(C)第06讲例程

1summing.c /* summing.c -- 根据用户键入的整数求和 */#include <stdio.h>int main(void){ long num; long sum = 0L; /* 把sum 初始化为0 */ int status; p......

树人大学数字媒体吴凡
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部