HBase基础 详细认识

1.HBase 的简介

2. Hive 的安装

3. Hive 的 Shell 命令

RDBMS 在海量数据下的查询速度越来越慢

分布式数据库无法满足 CAP 理论

        Consistency(一致性)

        数据一致更新,所有数据变动都是同步的

Availability(可用性)

        良好的响应性能

Partition tolerance(分区容错性)

        可靠性

 非关系型数据库---- 分布式数据库 有选择性的放弃了 CAP 理论中的某一个特性

 

 HBase 是非关系型数据库的一种

        起源于 Google 的 BigTable 论文 Doug Cutting

        使用 Java 实现了该论文 基于 Hadoop 存储数据

        最初是隶属于 Hadoop 的一个模块

        现在已经成为 Apache 的顶级独立项目

 HBase 采用 key-value 的形式存储数据

Key

        Rowkey

                具有唯一性

                每一行的唯一标识

                按照 ASCII 升序排列

Value

        Column Family(列族)

                包含若干列

         Column(列)

                每行的列可以完全不同

        Cell(单元格)

                每个单元格可以存储数据的多个版本

                空值不占用任何存储空间

HBase 的集群架构

 HRegionServer

        负责存储数据

                客户端直连 HRegionServer 进行查询

HRegion

        一个 HRegion 对应表的一个 Region

        HRegion 由多个 Store 组成

Store

        每个 Store 对应表中的一个 Colum

        Family Store 由 MemStore 和 StoreFile 组成

                 MemStore 是内存缓冲区

                StoreFile 是磁盘上保存数据的文件

Flush 机制

        数据先写入 MemStore

        达到某些条件的时候一次性写入 StoreFile

                MemStore 容量达到上限(128M)

                 MemStore 占用整个节点的内存超过上限(40%)

Compact 机制

         每次 Flush 会产生一个 StoreFile

        当 StoreFile 数量达到 3 个时会合并为一个大的 StoreFile

Split 机制

        当单个 StoreFile 的体积超过上限(10G)

        会把当前 Region 分裂为 2 个 Region

        新的 Region 会迁移到其它 HRegionServer 进行管理

HLog 是 HBase 实现 WAL 的日志文件

        WAL:预写日志

                保证数据的持久性和原子性

                写数据需要先写入 HLog,再写入 MemStore

                只有都写入成功,才认为数据写入成功

                当 RegionServer 宕机后,可以从 HLog 恢复数据

        当 HLog 数量达到上限(32)的时候会触发 Flush 操作

        对于已经 Flush 的数据,其 HLog 会被删除

HMaster 负责维护元数据表(.META.)

        META. 表记录了每个表的 Region 的信息

                有几个 Region

               每个 Region 的 rowKey 的范围

                每个 Region 所在的 HRegionServer .

        META. 表也是存储在某个 HRegionServer 上

                具体在哪个 HRegionServer 是记录在 Zookeeper 上

         META. 有且只有一个 Region 

HRegion 寻址方式

1、Client 询问 Zookeeper 获取.META. 在哪儿?

        Zookeeper 告诉 Client 在 HRegionServer2

2、Client 询问 HRegionServer2 数据在哪儿?

        HRegionServer2 告诉 Client 在 HRegionServer3

3、Client 询问 HRegionServer3 数据是什么?

         HRegionServer3 返回数据内容

HBase Shell 是 HBase 集群的命令行接口

                用户使用 Shell 访问 HBase并与其进行交互

                HBase Shell 提供了客户端和管理功能

基础命令

        启动--- hbase shell

        退出 ---exit 或者 quit

        帮助 help ‘命令’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琳小小小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值