天天看點

Hbase之啟動與停止及表相關操作

下面來記錄并分享下如何啟動和停止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程序是否已經停止。

繼續閱讀