HBASE入门及安装部署(七)

HBase介绍

HBase是Hadoop Database的简称,是一个分布式的、面向列的开源数据库。使用HBase在HDFS读取消费/随机访问数据(随机存取)。

利用Hadoop HDFS作为其文件存储系统

利用Hadoop MapReduce来处理HBase中的海量数据

利用Zookeeper作为协同服务

高可靠、高性能、面向列、可伸缩

HBase架构

HBase 需要运行在 HDFS 之上,以 HDFS 作为其基础的存储设施。HBase 上层提供了访问的数据的 Java API 层,供应用访问存储在 HBase 的数据。在 HBase 的集群中主要由 Master 和 Region Server 组成,以及 Zookeeper,具体模块如下图所示:

MasterHBase Master用于协调多个Region Server,侦测各个RegionServer之间的状态,并平衡RegionServer之间的负载。HBaseMaster还有一个职责就是负责分配Region给RegionServer。HBase允许多个Master节点共存,但是这需要Zookeeper的帮助。不过当多个Master节点共存时,只有一个Master是提供服务的,其他的Master节点处于待命的状态。当正在工作的Master节点宕机时,其他的Master则会接管HBase的集群。

Region Server对于一个RegionServer而言,其包括了多个Region。RegionServer的作用只是管理表格,以及实现读写操作。Client直接连接RegionServer,并通信获取HBase中的数据。对于Region而言,则是真实存放HBase数据的地方,也就说Region是HBase可用性和分布式的基本单位。如果当一个表格很大,并由多个CF组成时,那么表的数据将存放在多个Region之间,并且在每个Region中会关联多个存储的单元(Store)。

Zookeeper对于 HBase 而言,Zookeeper的作用是至关重要的。首先Zookeeper是作为HBase Master的HA解决方案。也就是说,是Zookeeper保证了至少有一个HBase Master 处于运行状态。并且Zookeeper负责Region和Region Server的注册。其实Zookeeper发展到目前为止,已经成为了分布式大数据框架中容错性的标准框架。不光是HBase,几乎所有的分布式大数据相关的开源框架,都依赖于Zookeeper实现HA。

HBase的存储机制

物理模型

HRegionServer是HBase中最主要的组件,负责table数据的实际读写,管理Region。在分布式集群中,HRegionServer一般跟DataNode在同一个节点上,目的是实现数据的本地性,提高读写效率。

Region是Hbase中分布式存储和负载均衡的最小单元,不同Region分布到不同RegionServer上。

每个Region包含着多个Store对象。每个Store包含一个MemStore或若干StoreFile,StoreFile包含一个或多个HFile。MemStore存放在内存中,StoreFile存储在HDFS上。

逻辑视图

基本概念:

RowKey:是Byte array,是表中每条记录的“主键”,方便快速查找,Rowkey的设计非常重要;

Column Family:列族,拥有一个名称(string),包含一个或者多个相关列;

Column:属于某一个columnfamily,familyName:columnName,每条记录可动态添加;

Timestamp:类型为Long,默认值是系统时间戳,可由用户自定义;一个单元格的不同版本的值按照时间戳降序排列在一起,在读取的时候优先取最新的值。

Cell:单元格,即:

实验环境

虚拟机: Hadoop版本: Java版本: HBase版本: ZooKeeper:

HBase安装部署

安装前准备

1、准备不少于3个节点的集群,这里是Hadoop-Master、Hadoop-Slave、Hadoop-Slave2。

2、 各服务器之间系统时间保持一致先设置时区为亚洲上海:

切换到root,每小时从时间服务器上同步时间:

下载

到 下载稳定版HBase,下载完成后上传到Hadoop-Master节点,解压。

到 下载Zookeeper,下载完成后上传到Hadoop-Master节点,解压。

安装Zookeeper

1、配置zoo.cfg属性文件,文件在 目录,重命名zoo_sample.cfg

修改dataDir目录,

配置服务器 service.N =YYY:A:B

说明:N:代表服务器编号(也就是myid里面的值)YYY:服务器地址A:表示 Flower 跟 Leader的通信端口,简称服务端内部通信的端口(默认2888)B:表示 是选举端口(默认是3888)

2、创建 文件夹,在该目录下创建 文件,内容为

3、修改环境变量

4、拷贝zookeeper-3.4.12到其它节点

修改Hadoop-Slave的zookeeper-3.4.12的data目录下的myid为2,修改Hadoop-Slave的zookeeper-3.4.12的data目录下的myid为3。

启动

在3个节点分别运行以下命令:

查看状态:

安装HBase

配置HBase

1、修改环境变量hbase-env.sh

2、修改配置文件hbase-site.xml

3、设置regionservers

4、设置环境变量

5、复制到其它节点

启动并验证

1、在Hadoop-Master上运行

2、访问

到这里HBase就安装完成。

参考

HBase官方文档

Hadoop相关知识整理系列之一:HBase基本架构及原理

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180919G0F9JE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券