HBase编程实践

一、HBase 2.2.2安装

1.1解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local,命令如下:

在这里插入图片描述

1.2 将解压的文件名hbase-2.2.2改为hbase,以方便使用,命令如下:

cd /usr/local
sudo mv ./hbase-2.2.2 ./hbase
下面把hbase目录权限赋予给hadoop用户:

cd /usr/local
sudo chown -R hadoop ./hbase

1.3 配置环境变量

将hbase下的bin目录添加到path中,这样,启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用。教程下面的部分还是切换到了/usr/local/hbase目录操作,有助于初学者理解运行过程,熟练之后可以不必切换。
编辑~/.bashrc文件:

gedit ~/.bashrc

如果没有引入过PATH请在~/.bashrc文件尾行添加如下内容:

export PATH=$PATH:/usr/local/hbase/bin

如果已经引入过PATH请在export PATH这行追加/usr/local/hbase/bin,这里的“:”是分隔符。如下图:
在这里插入图片描述
编辑完成后,再执行source命令使上述配置在当前终端立即生效,命令如下:

source ~/.bashrc

1.4 添加HBase权限

cd /usr/local
sudo chown -R hadoop ./hbase

1.5 查看HBase版本,确定hbase安装成功,命令如下:

/usr/local/hbase/bin/hbase version

成功截图如下:
在这里插入图片描述

二、HBase配置

伪分布式模式配置

1.配置/usr/local/hbase/conf/hbase-env.sh。命令如下:

vim /usr/local/hbase/conf/hbase-env.sh

配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK.
HBASE_CLASSPATH设置为本机HBase安装目录下的conf目录(即/usr/local/hbase/conf)

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export HBASE_CLASSPATH=/usr/local/hbase/conf
export HBASE_MANAGES_ZK=true

2.配置/usr/local/hbase/conf/hbase-site.xml
用命令vi打开并编辑hbase-site.xml,命令如下:

vim /usr/local/hbase/conf/hbase-site.xml

修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设置为true。假设当前Hadoop集群运行在伪分布式模式下,在本机上运行,且NameNode运行在9000端口。

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
</configuration>

3.接下来测试运行HBase。
第一步:首先登陆ssh,之前设置了无密码登陆,因此这里不需要密码;再切换目录至/usr/local/hadoop ;再启动hadoop,如果已经启动hadoop请跳过此步骤。命令如下:
ssh localhost
cd /usr/local/hadoop
./sbin/start-dfs.sh
输入命令jps,能看到NameNode,DataNode和SecondaryNameNode都已经成功启动,表示hadoop启动成功,截图如下:
在这里插入图片描述
第二步:切换目录至/usr/local/hbase;再启动HBase.命令如下:
cd /usr/local/hbase
bin/start-hbase.sh

启动成功,输入命令jps,看到以下界面说明hbase启动成功:
在这里插入图片描述

三、HBase编程实践

利用Shell命令

1.1 HBase中创建表
HBase中用create命令创建表,具体如下:
create ‘student’,‘Sname’,‘Ssex’,‘Sage’,‘Sdept’,‘course’
此时,即创建了一个“student”表,属性有:Sname,Ssex,Sage,Sdept,course。因为HBase的表中会有一个系统默认的属性作为行键,无需自行创建,默认为put命令操作中表名后第一个数据。创建完“student”表后,可通过describe命令查看“student”表的基本信息。命令执行截图如下:
在这里插入图片描述

在这里插入图片描述

1.2 查询表历史数据
查询表的历史版本,需要两步。
1、在创建表的时候,指定保存的版本数(假设指定为5)

create ‘teacher’,{NAME=>‘username’,VERSIONS=>5}

2、插入数据然后更新数据,使其产生历史版本数据,注意:这里插入数据和更新数据都是用put命令

put ‘teacher’,‘91001’,‘username’,‘Mary’
put ‘teacher’,‘91001’,‘username’,‘Mary1’
put ‘teacher’,‘91001’,‘username’,‘Mary2’
put ‘teacher’,‘91001’,‘username’,‘Mary3’
put ‘teacher’,‘91001’,‘username’,‘Mary4’
put ‘teacher’,‘91001’,‘username’,‘Mary5’

3、查询时,指定查询的历史版本数。默认会查询出最新的数据。(有效取值为1到5)

get ‘teacher’,‘91001’,{COLUMN=>‘username’,VERSIONS=>5}

查询结果截图如下:
在这里插入图片描述

1.4 退出HBase数据库表操作
最后退出数据库操作,输入exit命令即可退出,注意:这里退出HBase数据库是退出对数据库表的操作,而不是停止启动HBase数据库后台运行。

HBase Java API编程实践

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


版权声明:本文为qq_50917794原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。