自学内容网 自学内容网

【HBase分布式数据库】第三章 HBase快速入门

3.1 HBase安装文件详解

任务目的
了解安装包下各个文件作用
任务清单
任务1:解压安装包
任务2:文件介绍
任务步骤
任务1:解压安装包
下载

通过hbase官网https://hbase.apache.org/downloads.html,选择版本进行下载。

3.1-1

3.1-1

解压

通过以下指令进行解压。

tar -zxvf hbase-1.4.10-bin.tar.gz

3.1-2

3.1-2

任务2:文件介绍
主目录预览

进入hbase主目录并进行查看。

cd hbase-1.4.10
ll

3.1-3

3.1-3

bin目录

该目下两个文件重要,一个文件可以启动hbase服务,一个可以关闭

3.1-4

3.1-4

conf目录

该目录下,一个文件用来配置系统环境,一个文件用来配置hbase环境,一个用来配置从节点

3.1-5

3.1-5

其他目录

docs:帮助文档,比如API等。

hbase-webapp:hbase的web资源存储目录。

lib:jar包存储目录。

3.2 HBase快速搭建

任务目的
掌握HBase单机安装
掌握HBase伪分布式安装
任务清单
任务1:HBase单机安装
任务2:HBase伪分布式安装
任务步骤
任务1:HBase单机安装
1、下载好hbase的tar包,解压到指定目录下。

tar -zxf hbase-1.4.10-bin.tar.gz
3.2-1

3.2-1

2、切入到hbase目录下的配置目录,修改hbase-env.sh文件,导入JDK,并使用自带ZK。保存配置。

cd hbase-1.4.10/conf
vim hbase-env.sh
3.2-2

3.2-2

3.2-8

3.2-3

3、修改hbase-site.xml文件,加入如下三条配置。并保存。

vim hbase-site.xml
3.2-3

3.2-4

4、返回主目录,启动hbase环境。通过jps命令检查,HMaster节点启动。

bin/start-hbase.sh
bin/stop-hbase.sh
3.2-4

3.2-5

任务2:HBase伪分布式安装
1、在hbase主目录下,修改hbase-env.sh文件,把false改为true。保存退出。

vim conf/hbase-env.sh
3.2-5

3.2-6

2、修改conf目录下的hbase-site.xml文件,修改两条,增加一条。保存退出。

vim conf/hbase-site.xml
3.2-6

3.2-7

3、到此hbase的伪分布式就安装完成,接下来要检查是否成功。把ZK、Hadoop以及hbase的节点启动起来,进入到ZK的客户端,可以看到hbase已注册到ZK。

zkCli.sh
ls /
3.2-7

3.2-8

3.3 HBase分布式讲解

任务目的
了解分布式搭建方法
任务清单
任务1:HBase分布式讲解
任务步骤
任务1:HBase分布式讲解
1、在hbase-env.sh文件中导入JDK安装路径,hbase安装路径以及Hadoop安装路径,并设置使用外部ZK。

export JAVA_HOME=/root/software/jdk1.8.0_221
export HADOOP_HOME=/root/software/hadoop-2.7.7
export HBASE_CLASSPATH=/root/software/hbase-1.4.10
export HBASE_MANAGES=true

2、把HADOOPHOME/etc/hadoop/hdfs−site.xml文件拷贝到HBASE_HOME/conf目录下。

cp /root/software/hadoop-2.7.7/etc/hadoop/hdfs-site.xml /root/software/hbase-1.4.10/conf

3、修改hbase-site.xml文件,加入以下配置。

<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/</value>
</property>
<property>
<name>hbase.master</name>
<value>hdfs://master:60000</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/software/zookeeper-3.4.14/</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>

4、修改conf目录下的regionservers文件,把从节点的主机名写入该文件。

master
slave1
slave2

5、把配置好的hbase文件分发给其他从节点机器。从节点上的机器也要配置hbase的环境变量,并要使变量生效。

scp -r hbase-1.4.10 slave1:/root/software
scp -r hbase-1.4.10 slave2:/root/software

6、如果分布式环境是基于伪分布式环境搭建,则需要删除ZK中已经注册的hbase,并重启ZK。新环境安装的分布式就可以启动集群了。主节点上启动了一个HMaster和一个HRegionserver,从节点上启动了一个HRegionserver。

3.4 表的存储结构

任务目的
理解表的逻辑视图
掌握表的数据结构
任务清单
任务1:表的逻辑视图
任务2:数据结构
任务步骤
任务1:表的逻辑视图
-ROOT-表和.META.表

hbase除了有存储海量数据的用户表以外,还有两张特殊的table,-ROOT-表和.META.表。

-ROOT-表:记录了.META.表的Region信息,-ROOT-只有一个region。

.META.表:记录了用户表的Region信息,.META.可以有多个regoin。

示意图如下:

3.4-1

3.4-1

user table

3.4-2

3.4-2

rowkey

​ 与关系型数据数据库中的主键一样,row key是用来表示唯一一行记录的主键。访问hbase table中的行,有三种方式:

通过单个row key访问;
通过row key的range(正则);
全表扫描;
任务2:数据结构
rowkey设计

一条数据的唯一标识就是 rowkey,那么这条数据存储于哪个分区,取决于 rowkey 处于哪一个预分区的区间内,设计 rowkey 的主要目的 ,就是让数据均匀的分布于所有的 region 中。 rowkey 常用的设计方案遵循的原则如下:

长度原则
散列原则
唯一原则
columns family和versions

Columns Family :列簇,HBASE表中的每个列,都归属于某个列族。列名都以列族(簇)作为前缀。

versions:默认是 1 这个参数的意思是数据保留 1 个 版本。

cell和timestamp

cell:由{row key,columnFamily,version} 唯一确定的最小存储单元。

timestamp:时间戳,hbase中通过rowkey和columns确定为一个存储单元称为cell。每个cell都保存着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是64位整型。

namespace

namespace 类似于关系数据库系统中数据库表的逻辑分组。结构如下:

3.4-3

3.4-3


原文地址:https://blog.csdn.net/qq_23934063/article/details/140886887

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!