軟件及環(huán)境:
虛擬機(jī):VirtualBox
操作系統(tǒng)(在VirtualBox上安裝的):ubuntu-16.04
軟件:hbase-1.2.4 米罚、 jdk1.8.0_111
具體操作步驟:
一僚碎、下載挟憔、解壓縮HBase
1狸窘、ctrl+alt+T 打開ubuntu系統(tǒng)的終端界面墩朦,使用sudo wget 命令下載HBase:
命令: wget ?mirrors.cnnic.cn/apache/hbase/1.2.4/hbase-1.2.4-bin.tar.gz
2、解壓縮下載的打包壓縮HBase 文件
命令:tar xzf ?hbase-1.2.4-bin.tar.gz
二翻擒、配置HBase
1氓涣、修改hbase環(huán)境配置:進(jìn)入hbase目錄下的conf目錄,然后編輯目錄下的hbase-env.sh文件陋气,在文件中找到export? JAVA_HOME語句,設(shè)置JAVA_HOME(我的jdk版本為1.8劳吠,安裝的目錄為/newdisk/jdk1.8.0_111):export JAVA_HOME=/newdisk/jdk1.8.0_111
2、修改HBase的主配置文件hbsae-site.xml:在單實(shí)例HBase運(yùn)行環(huán)境下巩趁,主要是修改指定HBase和ZooKeeper的寫數(shù)據(jù)目錄痒玩。
HBase數(shù)據(jù)保存目錄為:file:/home/ubuntu/usr/tmp/hbase
Zookeeper的數(shù)據(jù)保存目錄為:/home/ubuntu/usr/tmp/zookeeper
3、為更方便使用hbase命令议慰,可以進(jìn)行環(huán)境變量的配置蠢古,將hbase的啟動(dòng)、關(guān)閉等腳本寫入系統(tǒng)環(huán)境變量中别凹。
1)草讶、轉(zhuǎn)換目錄到根目錄下:cd /;使用sudo vi ~/.bashrc 命令炉菲,輸入密碼
2)堕战、在.bashrc文件的末尾加上下面的語句:
export HBASE_HOME=/home/ubuntu/hbase-1.2.4
export ?HBASE_CONF_DIR=$HBASE_HOME/conf
export ?HBASE_CLASS_PATH=$HBASE_CONF_DIR
export ?PATH=$PATH:$HBASE_HOME/bin
添加完成后保存退出:“:wq”。
3)拍霜、使用source ~/.bashrc命令語句使修改的 .bashrc文件立即生效嘱丢。并使用hbase version 命令測試是否修改.bashrc文件成功,如能顯示HBase正確的版本則說明修改成功祠饺。
三屿讽、啟動(dòng)與停止HBase
1、啟動(dòng)HBase:start-hbase.sh
運(yùn)行start-hbase.sh命令之前吠裆,確保/etc/hosts配置正確(保證127.0.0.1和localhost對應(yīng),保證127.0.0.1和主機(jī)名對應(yīng)):cd / -> vi etc/hosts 烂完,查看hosts的內(nèi)容:
如果localhost對應(yīng)的不是127.0.0.1试疙,則使用ssh localhost命令之后,再次對etc.hosts文件進(jìn)行查看抠蚣。
2祝旷、停止HBase:stop-hbase.sh
四、HBase Shell
(一)、進(jìn)入HBase的shell環(huán)境:start-hbase.sh -> hbase shell
(二)怀跛、hbase shell 命令
1.表的管理
1)距贷、查看有哪些表:list
2)、創(chuàng)建表:create
語法:create <table> ,{NAME => <family>?, VERSIONS => <VERSIONS>}
示例:創(chuàng)建表”test“,family name:f1 f2, 版本數(shù)均為2吻谋;
create 'test',{NAME => 'f1',VERSIONS =>2},{NAME =>'f2',VERSIONS => 2}
3)忠蝗、刪除表:disable <table> -> drop <table>
示例:刪除表test
4)、查看表的結(jié)構(gòu):describe <table>
2漓拾、表數(shù)據(jù)的增刪改查
1)阁最、添加數(shù)據(jù):put <table>,<rowkey>,<family:column>,<value>,<timestamp>
示例:如下插入三條數(shù)據(jù)。其中 't1'是表名骇两, 'row1'是鍵名速种,'cf:a'中的cf是列族,a是列族下的屬性名低千,'value1'是屬性對應(yīng)的值配阵。
2)、查詢數(shù)據(jù)記錄
a. 查詢某行記錄:get <table>,<rowkey>,[<family:column>,......]
b. 掃描表:scan <table>
c. 查詢表中的數(shù)據(jù)行數(shù):count <table>
3)示血、刪除數(shù)據(jù)
a. 刪除行中的某個(gè)列值:delete <table>,<rowkey>,<family:column>
b. 刪除行:deleteall <table>,<rowkey>,<family:column>
c棋傍、刪除表中的所有數(shù)據(jù):truncate <table>