HBASE入门笔记
Posted 毫末之木
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBASE入门笔记相关的知识,希望对你有一定的参考价值。
一、Hbase是什么?
Hbase是Apache hadoop中的子项目,是根据Google的bigtable建模的,开源非关系型分布式数据库(列存储)。实现的编程语言是java。
hbase依托于hadoop的hdfs作为最基本存储单元,通过使用hadoop的DFS工具就可以看到这些数据,存储文件夹的结构,还可以通过mapreduce对hbase进行操作。(hbase建立在hdfs之上,可通过mapreduce操作数据)。
HBase在产品中还包含了Jetty,在HBase启动时采用嵌入式的方式来启动Jetty,因此可以通过web界面对HBase进行管理和查看当前运行的一些状态。
二、Hbase能干什么?
和传统数据库相比hbase是列存储nosql
行存储:
-优点:一次性写入单个文件,保证数据完整性
-缺点:数据读取过程中产生冗余数据
列存储:
-优点:读取数据过程不会产生冗余数据,适合对数据完整性要求不高的大数据领域
-缺点:写入效率差,写入多个文件
hbase优势
海量数据存储
快速随机访问
大量写操作的应用
hbase应用场景
互联网搜索引擎数据存储
海量数据写入
消息中心等
三、Hbase的数据模型
行键RowKey 时间戳 列族column Family 列族2。。。
会记录每一次对数据的操作,并且多次对相同键的数据的操作记录都会保留,所以可以维护多个版本
Rowkey 和每个列族都是一个文件,所以读取数据时不会产生冗余数据。
Hbase适合存储稀疏数据
hbase数据三维有序:key有序 列有序(列族和其中的列) 时间戳(版本)有序
四、Hbase的物理模型
随着数据不断的插入,region达到一定阈值会进行切分(region分裂)
先按行有序再切分都不同的region
Region是hbase分布式数据集群的存储最小单位
五、hbase表
表-Htable
按rowkey范围分的region--hregion--region server
Hregion按列族-多个Hstore组成
Hstore--memstore+HFiles(memstore类似环状缓存区的功能,HFiles本地文件)
HFiles -- HDFS
Hstore是hbase的核心存储单元
Memstore默认阈值是128m,可以通过参数控制阈值大小
Hbase实际上存储又不存储,不存储是hbase真正数据存储在hadoop的hdfs上,存储是说hbase又记录了region等相关信息。
六、hbase的系统结构
Client--访问hbase的接口,并维护Cache(Client中的缓存加速)加速region Server的访问。
Master--负载均衡,分配region到Region Server
Zookeeper
-保证集群中只有一个master
-实时监控region server的上下线信息,并通知master
七、HBase的容错机制
Zookeeper协调集群所有节点的共享信息,在Hmaster和HregionServer连接到zookeeper后创建ephemeral(临时)节点,并使用心跳机制维持这个节点的存活状态,如果临时节点失效,则hmaster会受到通知,并做相应的处理。
以上是关于HBASE入门笔记的主要内容,如果未能解决你的问题,请参考以下文章