下面來記錄并分享下如何啟動和停止hbase:
一、需要安裝jdk1.8及以上版本
二、Hbase下載下傳位址
https://www.apache.org/dyn/closer.lua/hbase/
三、hbase解壓縮
$tar xzvf hbase-3.0.0-SNAPSHOT-bin.tar.gz
$cd hbase-3.0.0-SNAPSHOT/
四、設定JAVA_HOME環境變量
export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
五、編輯conf/hbase-site.xml配置檔案
hbase-site配置檔案是hbase主要的配置檔案,在這裡面需要明确本地檔案系統所在檔案夾的位置(hbase和zookeeper寫資料和規範),
預設情況下,在/tmp下會建立一個新的檔案夾。好多服務可以配置在重新開機的時候删除/tmp檔案下的内容,是以可以把内容存放在任意
位置。接下來配置存儲hbase的資料在hbase的檔案夾内,在home檔案夾下的使用者被稱為testuser.粘貼标簽在标簽下,
在hbase安裝的時候這倆标簽需要為空。
舉例:Example hbase-site.xml for Standalone HBase
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/testuser/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>home/testuser/zookeeper</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
注:
不需要去建立hbase存放資料的目錄,hbase将會自己建立。如果已經建立,hbase會試圖做遷移操作,并不會直接用已建立的目錄。
hbase包含HDFS執行個體,設定hbase的主目錄去指定執行個體所在的目錄:hdfs:namenode.example.org:8082/hbase.
六、hbase shell
通過hbase shell去連接配接hbase
1)bin/start-hbase.sh提供了一個便捷的方式去啟動hbase。釋出指令行,在運作正常的情況下,
日志會輸出hbase啟動成功的日志。也可以使用jps指令去驗證HMaster是否已經啟動。在hbase獨立運作相關的所有線程
都會由HMaster程序守護。
2)連接配接hbase
a、使用hbase shell指令連接配接運作的hbase, 一些用法與版本資訊在列印的時候都被省略掉了。
hbase shell指令會以">"字元結束。
$ ./bin/hbase shell
hbase(main):001:0>
3)列出hbase shell help相關文本
輸入“type”然後點回車,會顯示hbase shell一些基本的用法資訊,就像一些執行個體指令那樣。
注意表的名字、行、列都需要被引号括起來。
4)建立一個表
使用“create”指令去建立一個新的表,必須明确表名和列明。
hbase(main):001:0>create 'test', 'cf'
0 row(s) in 0.4170 seconds
=>Hbase::Table - test
5)列出表資訊
使用“list”指令可以校驗表是否已存在
hbase(main):002:0>list 'test'
TABLE
test
1 row(s) in 0.0180 seconds
=>['test']
6)使用“describe”指令可以檢視詳情,包括預設的配置
hbase(main):003:0>describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME=>'cf',VERSION=>'1',EVICT_BLOCKS_ON_CLOSE=>'false',NEW_VERSION_BEHAVIOR=>'false',
KEEP_DELETED_CELLS=>'FALSE',CACHE_DATA_ON_WRITE=>'false',IN_MEMORY=>'0',CACHE_BLOOMS_ON_WRITE=>'false',
PERFETCH_BLOCK_ON_OPEN=>'false',COMPERSSION=>'NONE',BLOCKCACHE=>'true',BLOCKSIZE=>'65536'}
1 row(s)
Took 0.9998 seconds
7)向表内插入值
可以使用“put”指令,向表内插入值
hbase(main):003:0>put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0,0850 seconds
hbase(main):004:0>put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0110 seconds
hbase(main):005:0>put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.100 seconds
這裡插入了三條記錄,第一條在row1,cf:a列插入值value1.
在hbase裡列是由列的成員和字首組成的,cf在這個例子裡,跟着一個‘:’f和一個字尾。
8)掃描表的所有資料
可以使用“scan”指令去掃描表資料,所有的資料都将被獲得。
hbase(main):006:0>scan 'test'
ROW COLUMN+CEL
row1 column=cf:a,timestamp=1421762485768,value=value1
row2 column=cf:b,timestamp=1343254536758,value=value2
row3 column=cf:c,timestamp=9794783294729,value=value3
3 row(s) in 0.0230 seconds
9)獲得一條資料
可以通過“get”指令擷取一條記錄
hbase(main):007:0>get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1421762485768,value=value1
1 row(s) in 0.0350 seconds
10)表失效
如果想要删除表或者改變表的屬性以及其他的一些設定,需要先設定表失效,通過“disable”指令,
也可以使用“enable”指令重新設定可用。
hbase(main):008:0>disable 'test'
0 row(s) in 1.1820 seconds
hbase(main):009:0>enable 'test'
0 row(s) in 0.1770 seconds
11)删除表
可用使用“drop”指令删除表
hbase(main):011:0>drop 'test'
0 row(s) in 0.1370 seconds
12)退出hbase shell指令
可以使用"quit"指令退出hbase shell,但hbase仍然在運作。
13)停止hbase
bin/start-hbase.sh提供了一個便捷的方法去啟動hbase守護程序,bin/stop-base.sh去停止守護程序。
當輸入指令之後,它需要等幾分鐘去結束程序。可以通過"jps"指令去确認HMaster和HRegionServer程序是否已經停止。