hbase系列之:獨立模式部署hbase
一、概述
在上一篇博文中,我簡要介紹了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/解壓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
hbase環境變數配置
加入之後,入下圖所示:
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資料儲存位置
如圖所示:
四、啟動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'
get查詢資料
7、刪除表
7.1、刪除表之前,先禁用表。命令:disable 'hbase_test'
7.2、刪除表:drop 'hbase_test'
8、使用命令 quit 退出hbase命令列介面。
六、使用命令 stop-hbase.sh 停止hbase例項。
七、小結
至此,獨立模式下部署hbase已經完成,整個過程中還有很多細節可以更加深入的討論,但是,先把應用搭建起來,在使用中探究細節,會更直觀,不至於那麼抽象。
由於本人能力有限,文中若有不足之處,還望指出,謝謝!