Hbase数据库

第一关:Hbase数据库的安装

任务描述

本关任务:安装与配置HBase数据库。
相关知识

在安装HBase之前你需要先安装Hadoop和Zookeeper,如果你还没有安装可以通过这两个实训来学习:Hadoop安装与配置,Zookeeper安装与配置。
本次实训的环境已经默认安装好了Hadoop,接下来我们就开始安装配置HBase吧。
HBase安装

HBase的安装也分为三种,单机版、伪分布式、分布式;我们先来安装单机版。
单机版安装

首先我们去官网下载好HBase的安装包;

接下来,将压缩包解压缩到你想安装的目录(安装包在平台已经下载好了,在/opt目录下,无需你再进行下载,我们统一将HBase解压到/app目录下):

mkdir /app
cd /opt
ulimit -f 1000000
tar -zxvf hbase-2.1.1-bin.tar.gz -C /app

安装单机版很简单,我们只需要配置JDK的路径即可,我们将JDK的路径配置到conf/下的hbase-env.sh中。

我们先输入echo $JAVA_HOME来复制JAVA_HOME的路径,以方便之后的配置:
在这里插入图片描述

接着我们编辑HBase conf目录下的hbase-env.sh文件,将其中的JAVA_HOME指向到你Java的安装目录,最后保存设置:

vim /app/hbase-2.1.1/conf/hbase-env.sh

Hbase数据库_第1张图片

然后编辑hbase-site.xml文件,在标签中添加如下内容:


  
       hbase.rootdir
       file:///root/data/hbase/data
  
  
       hbase.zookeeper.property.dataDir
       /root/data/hbase/zookeeper
  
       
  hbase.unsafe.stream.capability.enforce
        false
  

以上各参数的解释:

hbase.rootdir:这个目录是region  server的共享目录,用来持久化Hbase。URL需要是’完全正确’的,还要包含文件系统的scheme。例如,要表示hdfs中的 /hbase目录,namenode  运行在namenode.example.org的9090端口。则需要设置为hdfs://namenode.example.org:9000 /hbase。默认情况下Hbase是写到/tmp的。不改这个配置,数据会在重启的时候丢失;

hbase.zookeeper.property.dataDir:ZooKeeper的zoo.conf中的配置。快照的存储位置,默认是:${hbase.tmp.dir}/zookeeper;

hbase.unsafe.stream.capability.enforce:控制HBase是否检查流功能(hflush / hsync),如果您打算在rootdir表示的LocalFileSystem上运行,那就禁用此选项。

配置好了之后我们就可以启动HBase了,在启动之前我们可以将Hbase的bin目录配置到/etc/profile中,这样更方便我们以后操作。
在etc/profile的文件末尾添加如下内容:

# SET HBASE_enviroment 
HBASE_HOME=/app/hbase-2.1.1
export PATH=$PATH:$HBASE_HOME/bin

HBASE_HOME为你自己本机Hbase的地址。

不要忘了,

source /etc/profile

使刚刚的配置生效。

接下来我们就可以运行HBase来初步的体验它的功能了:

在命令行输入

start-hbase.sh

来启动HBase,接着输入jps查看是否启动成功,出现了HMaster进程即表示启动成功了。

启动成功之后,咱们就可以对Hbase进行一些基本的操作了。

在之后的实训中,我们将会实现伪分布式与分布式HBase数据库的安装。
编程要求

根据上述步骤安装配置好HBase数据库,并启动成功。
测试说明

若安装配置成功,则程序会输出:

hbase-env.sh解压路径正确
Hbase已启动
各配置项配置成功!

第二关:创建表

相关知识

为了完成本关任务,你需要掌握:如何使用HBase shell指令创建表。
Hbase shell操作

启动HBase之后,我们输入

hbase shell

进入到Hbase shell命令行窗口:
Hbase数据库_第2张图片
在这里我们输入hbase shell会启动一个加入了一些Hbase特有命令的JRuby JRB解释器,输入help然后按回车键可以查看已分组的shell环境的命令列表。

现在,我们来创建一个简单的表。

要新建一个表,首先必须要给它起个名字,并为其定义模式,一个表的模式包含表的属性和列族的列表。

例如:我们想要新建一个名为test的表,使其中包含一个名为data的列,表和列族属性都为默认值,则可以使用如下命令:
Hbase数据库_第3张图片
创建完毕之后我们可以输入list来查看表是否创建成功:
Hbase数据库_第4张图片
编程要求

好了,该你了,依照上文步骤创建test表,然后继续在HBase中创建两张表,表名分别为:dept,emp,列都为:data。
测试说明

如果你的表创建成功点击评测即会输出:

describe ‘test’
Table test is ENABLED
test
describe ‘dept’
Table dept is ENABLED
dept
describe ‘emp’
Table emp is ENABLED
emp

第三关:添加数据、删除数据、删除表

任务描述

本关任务:向HBase的表中添加数据。
相关知识

为了完成本关任务,你需要掌握:1.如何使用HBase shell命令添加数据、2.如何使用命令删除表。
添加数据

我们来给上一关创建的test表的列data添加一些数据:
Hbase数据库_第5张图片
从上面例子我们可以看出,使用put命令可以用来添加数据,使用get命令可以获取数据。

当然我们肯定还会有一个需求:查看所有的数据。
在这里插入图片描述
输入scan命令就可以查看所有的数据了。
删除数据、删除表

我们经常会添加错数据,想要删除然后重新添加应该怎么做呢?

删除整行数据:

deleteall 'test','row1'

指令:deleteall 表名,行名称即可删除整行数据。

有时候我们还想将创建好的表删除,怎么做呢?

为了移除test这个表,首先我们要把它设为禁用,然后再删除:
Hbase数据库_第6张图片
可以发现删除表需要两个步骤:

disable 表名
drop 表名

接着我们ctrl + c或者 输入exit退出HBase shell命令行。
编程要求

好了,到你啦,在HBase中创建表mytable,列为data,并在列族data中添加三行数据:

行号分别为:row1,row2,row3;
列名分别为:data:1,data:2,data:3;
值分别为:zhangsan,zhangsanfeng,zhangwuji。

测试说明

预期输出:

row1column=data:1,value=zhangsan
row2column=data:2,value=zhangsanfeng
row3column=data:3,value=zhangwuji
3row(s)

你可能感兴趣的:(云计算)