Hadoop介绍(四)Hbase
来源:互联网 发布:知乎客户端 pc 编辑:程序博客网 时间:2024/06/05 17:25
Hbase
hbase-hadoop database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用hbase技术可在廉价pc上搭建起大规模的结构化存储集群
角色:
hmaster: 为regionserver分配region,负责regionserver的负载均衡,发现失效的regionserver并重新分配其上的region;管理用户对table的增删改查操作
hregionserver:维护region,处理对这些region的Io请求,负责切分在运行过程中变得过大的region
1、 hbase简介
a. hbase是apache hadoop中的一个子项目,依托于hdfs作为最基本存储单元,通过使用hadoop的dfs工具就可以看到这些数据存储文件夹的结构,还可以通过map/reduce的框架对hbase进行操作
b. hbase适用场景
b1. 大数据量存储,大数据量并发操作
b2. 需要对数据随机读写操作
b3. 读写访问均是非常简单的操作
c. hbase与hdfs对比
c1. 两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点
c2. hdfs适合批处理场景,但不支持数据随机查找,不适合增量数据处理,不支持数据更新
2、 数据模型
hbase以表的形式存储数据,表由行和列族组成。列划分为若干个列族(column family),几个关键概念:
1). 行键(rowkey): 行键是字节数组,任何字符串都可以作为行键,表中的行根据行键进行排序,数据按照rowkey的字节(byte order)排序存储,所有对表的访问都要通过行键(单个rowkey访问或rowkey范围访问或全表扫描)
2). 列族(column family): CF必须在表定义时给出,每个cf可以有一个或多个列成员(column qualifier),列成员不需要在表定义时给出,新的列成员可以随后按需、动态加入,数据按CF分开存储,hbase所谓的列式存储就是根据CF分开存储(每个CF对应一个store),这种设计非常适合于数据分析的情形
3). 时间戳(TimeStamp): 每个cell可能有多个版本,它们之间用时间戳区分
4). 单元格(cell):cell由行键,列族限定符,时间戳唯一决定,cell中的数据是没有类型的,全部以字节码形式存储
5). 区域(region): hbase自动把表水平(按row)划分成多个区域(region),每个region会保存一个表里面某段连接的数据;每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阀值的时候,region就会等分成两个新的region;当table中的行不断增多,就会有越来越多的region。这样一张完整的表就被保存在多个region上;region虽然是分布式存储的最小单元,但并不是存储的最小单元。region由一个或多个store组成,每个store保存一个column Family,每个store又由一个memstore和0至多个storefile组成,storefile包含hfile,memstore存储在内存中,storefile存储在hdfs上。
3、hbase的容错与恢复
每个hregionserver中都有一个hlog对象,hlog是一个实现Write Ahead Log的类,在每次用户操作写入memstore的同时,也会写一份数据到hlog文件中,hlog文件定期会滚动出新的,并删除旧的文件(已持久化到storefile中的数据)。当hregionserver意外终止后,hmaster会通过zk感知到,hmaster首先处理遗留的hlog文件,将其中不同region的log数据进行拆分,分别放到相应region的目录下,然后再将失效的region重新分配,领取到这些region的hregionserver,在load region的过程中,会发现有历史hlog需要处理,因此会replay hlog中的数据到memstore中,然后flush到storefiles,完成数据恢复
- Hadoop介绍(四)Hbase
- Hadoop学习笔记(四):HBase
- hadoop-企业版环境搭建(四)-安装HBase
- Hbase笔记四:Hbase基于Hadoop的完全分布式安装
- Hadoop之Hbase架构以及应用介绍
- Hadoop集群搭建之四 CentOS7+JDK+Hadoop+zookeeper+HBase
- 四、Hadoop+HBase+ZooKeeper三者关系图
- Hadoop,HBase集群环境搭建的问题集锦(四)
- hadoop大数据平台手动搭建(四)-hbase
- 记录配置Hadoop+zookeeper+Hbase的完整过程(四)
- Hadoop HBase
- Hadoop HBase
- hadoop hbase
- Hadoop, Hbase
- hadoop--hbase
- Hadoop集群中Hbase的介绍、安装、使用
- Hadoop集群中Hbase的介绍、安装、使用
- hadoop学习第十节:HBase介绍、安装与应用案例
- [luogu 2419]牛大赛Cow Contest
- Excel图表—二项分布和正态分布的对应关系
- 利用python进入数据分析之usagov_bitly_data数据分析
- jquery清空多个input框
- 集合源码学习(四):Vector
- Hadoop介绍(四)Hbase
- 机器学习——特征工程之线性判别分析LDA
- 实验二:线性表实验-单链表的实现
- 未知文本自适应居中
- Java nio 详解
- 第5周项目2 建立链栈算法库
- python_lintcode_419罗马数字转整数_688The Number In Words
- poj2396 Budget
- 可见性