HBase,全称Hadoop Database ,是一个分布式的、面向列的开源数据库。

 

HBase的特性:

HBase是Apache的Hadoop项目的子项目。

HBase有三个主要组成部分:客户端库,主服务器和区域服务器。区域服务器可以按要求添加或删除。

HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

另一个不同的是HBase基于列的而不是基于行的模式。

在HBase系统上运行批处理运算,最方便和实用的模型依然是MapReduce。

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上。

主要包括两种文件类型:

       1. HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile

       2. HLog File,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File

HBase 和 HDFS

hbase 文件存储目录 hbase数据文件存储格式_数据

HBase架构

hbase 文件存储目录 hbase数据文件存储格式_hbase 文件存储目录_02

什么是zookeeper?

ZooKeeper是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。同时还能使用Java和C的接口。


HBase经典习题:

判断:Hbase 采用是 Key-Value 形式的数据库,模拟于 Java 中的 Map 形式。(对)

判断:HBase 中的数据都是字节,且有各种类型。(错)

HBase 存储底层数据依靠的是  A

A.HDFS    

B.Hadoop

C.Memory             

D.MapReduce

 

MapReduce 与 HBase 的关系,哪些描述是正确的  BC

A.两者不可或缺,MapReduce 是 HBase 可以正常运行的保证

B.两者不是强关联关系,没有 MapReduce,HBase 仍可正常运行

C.MapReduce 可以直接访问 HBase

D.它们之间没有任何关系

 

关于 Hbase 的说明,哪些是正确的?   BCD      

A.Hive Database 的简称

B.Hbase 是一个具有高可靠性、高性能、面向列、可伸缩的分布式存储系统

C.Hbase 底层的文件系统使用 HDFS

D.Hbase 运用 Zookeeper 来管理集群的 Master 与各 Region server 之间的通信,监控各 Region server 的状态,存储各 Region 的入口地址。

 

HBase依赖___D___提供强大的计算能力。

A.Zookeeper

B.Chubby

C.RPC

D. MapReduce

 

HBase依赖___A___提供消息通信机制

A.Zookeeper

B.Chubby

C.RPC

D. Socket

 

HBase来源于哪一项? C

A The Google File System

B MapReduce

C BigTable

D Chubby

 

下面对HBase的描述哪些是正确的? B、C、D

A 不是开源的

B 是面向列的

C 是分布式的

D 是一种NoSQL数据库

 

下面哪些选项正确描述了HBase的特性? A、B、C、D

A 高可靠性

B 高性能

C 面向列

D可伸缩

 

HBase性能优化包含下面的哪些选项?A、B、C、D

A 读优化

B 写优化

C 配置优化

D JVM优化

 

HBase构建二级索引的实现方式有哪些? A、B

A MapReduce

B Coprocessor

C Bloom Filter

D Filter

 

关于HBase二级索引的描述,哪些是正确的?A、B

A 核心是倒排表

B 二级索引概念是对应Rowkey这个“一级”索引

C 二级索引使用平衡二叉树

D 二级索引使用LSM结构

 

HBase官方版本可以安装在什么操作系统上?A、B、C

A CentOS

B Ubuntu

C RedHat

D Windows

 

HFile 数据格式中的 Data 字段用于(A )。

A.存储实际的 KeyValue 数据

B . 存储数据的起点
C . 指定字段的长度
D . 存储数据块的起点

HFile 数据格式中的 Magic 字段用于( A)。
A . 存储随机数,防止数据损坏
B . 存储数据的起点
C . 存储数据块的起点
D . 指定字段的长度

 

HFile 数据格式中的 KeyValue 数据格式中 Value 部分是( C)。
A . 拥有复杂结构的字符串
B . 字符串
C . 二进制数据
D . 压缩数据

HFile 数据格式中的 MetaIndex 字段用于( D)。
A . Meta 块的长度
B . Meta 块的结束点
C . Meta 块数据内容
D . Meta 块的起始点

 

下面关于 zookeeper 的描述,错误的是( C)。
 A . zookeeper是一个分布式小文件存储系统
B . zookeeper可以为其他软件进行选主服务
C . zookeeper中的znode共用有两种类型
D . 在Dubbo中,zookeeper提供了注册中心服务

(znode一共有4种类型:持久的、临时的,持久顺序的,临时顺序的)

下面属于 zookeeper 特殊的性质有(D )。
A . 提供了抽象为目录树的文件系统
B . 支持小文件存储
C . 事务性请求由老大统一处理
D . 目录树中节点兼具目录和文件特点

 

Zookeeper 中为什么会有 Leader(ABC )。
A . 统一管理
B . 一台机器操作,其他集群都可以共享
C . 提高性能
D . 随机生成

 

关于 Znode 的说法正确的是( ABCD)。
A . znode中的数据可以有多个版本,在查询该znode数据时就需要带上版本信息
B . znode可以是临znode,由create -e 生成的节点
C . 临时znode不能有子znode 
D . znode可以自动编号

 

HBase 中的批量加载底层是使用下列哪项实现的?  MapReduce

HBase 虚拟分布式模式需要的节点数是  1   个

HBase 分布式模式最好需要的节点数是  3   个