一、概述
在上一篇博文中,我簡要介紹了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/

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文件,在文件末尾加入下面代碼

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>節點中添加一下內容。

<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。

命令模板:create 'tableName','columnFamily';
示例:create 'hbase_test','info';
3、使用list命令查看當前hbase下已有的表,如下圖所示:
4、使用put命令向hbase_test表中加載一行三列數據。如圖。

模板: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命令精確查找某一個單元格的數據。如圖。

模板: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已經完成,整個過程中還有很多細節可以更加深入的討論,但是,先把應用搭建起來,在使用中探究細節,會更直觀,不至於那么抽象。
由於本人能力有限,文中若有不足之處,還望指出,謝謝!