一、概述
在上一篇博文中,我简要介绍了hbase的部分基础概念,如果想初步了解hbase的理论,可以参看上一篇博文 hbase系列之:初识hbase 。本博文主要介绍独立模式下部署hbase及hbase的几个基本操作,需要具备一定的Linux基础。
二、部署前准备
1、纯净的Linux系统,本文使用CentOS7.5,IP地址为:192.168.200.31。
2、安装jdk并配置环境变量,本文使用jdk1.8。参看下文“java对hbase的版本支持”小节的内容。
3、新建hbase用户,并设置密码为hbase123。
4、使用命令 mkdir -p /data/softwares 创建软件包存放目录,使用命令 mkdir -p /data/modules/hbase 创建hbase部署目录。
5、使用root用户进入到 /data/modules 目录下,把 hbase 目录的属主设为hbase用户。
6、使用root用户,进入到/data/modules目录下,新建data_hbase目录并切换属主为hbase用户,用于存放hbase数据。
三、下载hbase并部署
1、java对hbase的版本支持。
hbase官方文档上面有java对hbase版本支持的详细介绍,我这儿贴出一张表作为参考。
hbase版本 | jdk1.6 | jdk1.7 | jdk1.8 |
1.2 | 不支持 | 支持 | 支持 |
1.1 | 不支持 | 支持 | 支持,但未经过充分测试 |
1.0 | 不支持 | 支持 | 支持,但未经过充分测试 |
0.98 | 支持 | 支持 | 支持,但未经过充分测试(不建议使用) |
0.94 | 支持 | 支持 | 未知 |
2、下载hbase。
通过上表可以看出,jdk1.8对hbase1.2有良好的支持,所以我选择下载hbase1.2,一般情况下,我选择到Apache档案馆去选择对应的版本下载,下载地址:http://archive.apache.org/dist/hbase/1.2.0/,选择下载 hbase-1.2.0-bin.tar.gz 文件。
3、上传hbase部署包到/data/softwares目录下。
4、解压hbase到/data/modules/hbase/
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
tar -vxzf hbase-1.2.0-bin.tar.gz -C /data/modules/hbase/
5、进入/data/modules/hbase/目录下,使用命令chown -hR hbase:hbase hbase-1.2.0/切换hbase-1.2.0及子文件和子文件夹的属主为hbase。
6、配置hbase全局环境变量。
6.1、使用root用户编辑 /etc/profile文件,在文件末尾加入下面代码
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
export HBASE_HOME=/data/modules/hbase/hbase-1.2.0
export PATH=$HBASE_HOME/bin:$PATH
加入之后,入下图所示:
6.2、使用命令 source /etc/profile 使配置立即生效。
6.3、测试hbase全局环境变量是否配置成功。
在任意用户、任意目录下执行hbase命令,如果出现下图所示的提示,则配置成功。
7、为hbase指定java位置:如果配置java环境变量可跳过此步骤,如果未配置java环境变量,编辑$HBASE_HOME$/conf/hbase-env.sh文件,取消# export JAVA_HOME=/usr/java/jdk1.8.0/ 行的注释,并设置JAVA_HOME为实际的$JAVA_HOME$。
8、指定hbase数据存储位置:因为是独立安装,不能使用hdfs,只能使用默认文件系统(本地文件系统),所以需要手动指定hbase数据存储的位置。编辑$HBASE_HOME$/conf/hbase-site.xml文件,在<configuration>节点中添加一下内容。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<property> <name>hbase.tmp.dir</name> <value>/data/modules/data_hbase</value> </property>
如图所示:
四、启动hbase
1、执行start-hbase.sh命令启动hbase,可在$HBASE_HOME$/log中查看hbase相关日志信息。
2、使用命令jps查看进程,出现HMaster表示hbase启动成功。
五、hbase简单命令行操作
1、在任意目录下执行 hbase shell 命令进入到hbase的命令行界面。
2、创建一张只有一个列族info的表hbase_test。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
命令模板:create 'tableName','columnFamily';
示例:create 'hbase_test','info';
3、使用list命令查看当前hbase下已有的表,如下图所示:
4、使用put命令向hbase_test表中加载一行三列数据。如图。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
模板:put '表名','rowkey','列族名:列明','值' 示例: put 'hbase_test','key01','info:name','xiaoming'; put 'hbase_test','key01','info:age','ten'; put 'hbase_test','key01','info:sex','man';
5、使用scan命令查看表的所有数据。如图。
6、使用get命令精确查找某一个单元格的数据。如图。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
模板:get '表名','rowkey','列族:列名'
示例:
get 'hbase_test','key01','info:name'
7、删除表
7.1、删除表之前,先禁用表。命令:disable 'hbase_test'
7.2、删除表:drop 'hbase_test'
8、使用命令 quit 退出hbase命令行界面。
六、使用命令 stop-hbase.sh 停止hbase实例。
七、小结
至此,独立模式下部署hbase已经完成,整个过程中还有很多细节可以更加深入的讨论,但是,先把应用搭建起来,在使用中探究细节,会更直观,不至于那么抽象。
由于本人能力有限,文中若有不足之处,还望指出,谢谢!