一、實(shí)驗(yàn)?zāi)康?/h4>
-
回顧Hadoop和Zookeeper安裝與配置
-
掌握HBase安裝與配置
-
理解HBase工作原理
-
掌握HBase表的基本操作
二、實(shí)驗(yàn)內(nèi)容
-
HBase安裝與配置
-
使用HBase shell指令創(chuàng)建表
-
使用HBase shell命令添加/刪除數(shù)據(jù)
-
使用命令刪除表
三、實(shí)驗(yàn)步驟
回顧Hadoop和Zookeeper安裝與配置
掌握HBase安裝與配置
理解HBase工作原理
掌握HBase表的基本操作
HBase安裝與配置
使用HBase shell指令創(chuàng)建表
使用HBase shell命令添加/刪除數(shù)據(jù)
使用命令刪除表
(一)HBase安裝與配置
HBase安裝
HBase
的安裝也分為三種,單機(jī)版、偽分布式、分布式;我們先來(lái)安裝單機(jī)版。
單機(jī)版安裝
首先我們?nèi)?/span>官網(wǎng)下載好HBase
的安裝包;
接下來(lái),將壓縮包解壓縮到你想安裝的目錄:
mkdir /app
cd /opt
ulimit -f 1000000
tar -zxvf hbase-2.1.1-bin.tar.gz -C /app
安裝單機(jī)版很簡(jiǎn)單,我們只需要配置JDK
的路徑即可,我們將JDK
的路徑配置到conf/
下的hbase-env.sh
中。
我們先輸入echo $JAVA_HOME
來(lái)復(fù)制JAVA_HOME
的路徑,以方便之后的配置:
接著我們編輯HBase conf
目錄下的hbase-env.sh
文件,將其中的JAVA_HOME
指向到你Java
的安裝目錄,最后保存設(shè)置:
vim /app/hbase-2.1.1/conf/hbase-env.sh
?
然后編輯hbase-site.xml
文件,在<configuration>
標(biāo)簽中添加如下內(nèi)容:
<configuration>
??<property>
???????<name>hbase.rootdir</name>
???????<value>file:///root/data/hbase/data</value>
??</property>
??<property>
???????<name>hbase.zookeeper.property.dataDir</name>
???????<value>/root/data/hbase/zookeeper</value>
??</property>
??<property>????
??<name>hbase.unsafe.stream.capability.enforce</name>
????????<value>false</value>
??</property>
</configuration>
以上各參數(shù)的解釋:
hbase.rootdir
:這個(gè)目錄是region server
的共享目錄,用來(lái)持久化Hbase
。URL
需要是'完全正確'的,還要包含文件系統(tǒng)的scheme
。例如,要表示hdfs
中的/hbase
目錄,namenode
運(yùn)行在namenode.example.org
的9090
端口。則需要設(shè)置為hdfs://namenode.example.org:9000 /hbase
。默認(rèn)情況下Hbase
是寫(xiě)到/tmp
的。不改這個(gè)配置,數(shù)據(jù)會(huì)在重啟的時(shí)候丟失;hbase.zookeeper.property.dataDir
:ZooKeeper
的zoo.conf
中的配置。快照的存儲(chǔ)位置,默認(rèn)是:${hbase.tmp.dir}/zookeeper
;hbase.unsafe.stream.capability.enforce
:控制HBase
是否檢查流功能(hflush / hsync
),如果您打算在rootdir
表示的LocalFileSystem
上運(yùn)行,那就禁用此選項(xiàng)。
配置好了之后我們就可以啟動(dòng)HBase
了,在啟動(dòng)之前我們可以將Hbase
的bin
目錄配置到/etc/profile
中,這樣更方便我們以后操作。 在etc/profile
的文件末尾添加如下內(nèi)容:
# SET HBASE_enviroment
HBASE_HOME=/app/hbase-2.1.1
export PATH=$PATH:$HBASE_HOME/bin
HBASE_HOME
為你自己本機(jī)Hbase
的地址。
不要忘了,source /etc/profile
使剛剛的配置生效。
接下來(lái)我們就可以運(yùn)行HBase
來(lái)初步的體驗(yàn)它的功能了:
在命令行輸入start-hbase.sh
來(lái)啟動(dòng)HBase
,接著輸入jps
查看是否啟動(dòng)成功,出現(xiàn)了HMaster
進(jìn)程即表示啟動(dòng)成功了。
啟動(dòng)成功之后,咱們就可以對(duì)Hbase
進(jìn)行一些基本的操作了。
根據(jù)上述步驟安裝配置好HBase
數(shù)據(jù)庫(kù),并啟動(dòng)成功。
請(qǐng)注意,HBase
非常消耗資源,所以你在長(zhǎng)時(shí)間沒(méi)使用命令行后臺(tái)會(huì)回收資源,如果你想保持環(huán)境不被注銷,請(qǐng)?jiān)趶棾鲅訒r(shí)窗口時(shí)點(diǎn)擊延時(shí),并且保持操作命令行,這樣可以保持你的環(huán)境一直持續(xù)。
相關(guān)代碼:
1. #創(chuàng)建 app 目錄
2. mkdir /app
3. #進(jìn)入 /opt 目錄下
4. cd /opt
5. #解壓 Hbase 壓縮包
6. tar -zxvf hbase-2.1.1-bin.tar.gz -C /app
7. #編輯hbase-env.sh配置文件
8. vi /app/hbase-2.1.1/conf/hbase-env.sh
9.
10. #進(jìn)入后配置配置
11. export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
12.
13. #編輯hbase-site.xml配置文件
14. vi /app/hbase-2.1.1/conf/hbase-site.xml
15.
16. <configuration>
17. <property>
18. <name>hbase.rootdir</name>
19. <value>file:///root/data/hbase/data</value>
20. </property>
21. <property>
22. <name>hbase.zookeeper.property.dataDir</name>
23. <value>/root/data/hbase/zookeeper</value>
24. </property>
25. <property>
26. <name>hbase.unsafe.stream.capability.enforce</name>
27. <value>false</value>
28. </property>
29. </configuration>
30.
31.
32.
33. #配置Hbase環(huán)境變量
34. vi /etc/profile
35.
36. HBASE_HOME=/app/hbase-2.1.1
37. export PATH=$PATH:$HBASE_HOME/bin
38.
39. #是環(huán)境變量生效
40. source /etc/profile
41.
42. #啟動(dòng)HBase(環(huán)境變量配置好后)
43. start-hbase.sh
(二)使用HBase shell指令創(chuàng)建表
Hbase shell操作
啟動(dòng)HBase之后,我們輸入hbase shell
進(jìn)入到Hbase shell
命令行窗口:
在這里我們輸入hbase shell
會(huì)啟動(dòng)一個(gè)加入了一些Hbase
特有命令的JRuby JRB
解釋器,輸入help
然后按回車鍵可以查看已分組的shell
環(huán)境的命令列表。
現(xiàn)在,我們來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的表。
要新建一個(gè)表,首先必須要給它起個(gè)名字,并為其定義模式,一個(gè)表的模式包含表的屬性和列族的列表。
例如:我們想要新建一個(gè)名為test
的表,使其中包含一個(gè)名為data
的列,表和列族屬性都為默認(rèn)值,則可以使用如下命令:
創(chuàng)建完畢之后我們可以輸入list
來(lái)查看表是否創(chuàng)建成功:
編程要求
然后繼續(xù)在HBase
中創(chuàng)建兩張表,表名分別為:dept
,emp
,列都為:data
。
相關(guān)代碼:
1. # 啟動(dòng) HBase
2. start-hbase.sh
3. # 進(jìn)入 hbase shell
4. hbase shell
5. create 'test','data'
6. create 'dept','data'
7. create 'emp','data'
8.
9.
10. # 退出
11. exit
(三)使用HBase shell命令添加/刪除數(shù)據(jù)
添加數(shù)據(jù)
我們來(lái)給上一步創(chuàng)建的test
表的列data
添加一些數(shù)據(jù):
從上面例子我們可以看出,使用put
命令可以用來(lái)添加數(shù)據(jù),使用get
命令可以獲取數(shù)據(jù)。
當(dāng)然我們肯定還會(huì)有一個(gè)需求:查看所有的數(shù)據(jù)。
輸入scan
命令就可以查看所有的數(shù)據(jù)了。
刪除數(shù)據(jù)、刪除表
我們經(jīng)常會(huì)添加錯(cuò)數(shù)據(jù),想要?jiǎng)h除然后重新添加應(yīng)該怎么做呢?
刪除整行數(shù)據(jù):
deleteall 'test','row1'
指令:deleteall
表名,行名稱
即可刪除整行數(shù)據(jù)。
有時(shí)候我們還想將創(chuàng)建好的表刪除,怎么做呢?
為了移除test
這個(gè)表,首先我們要把它設(shè)為禁用,然后在刪除:
可以發(fā)現(xiàn)刪除表需要兩個(gè)步驟:
- disable 表名
- drop 表名
接著我們ctrl + c
或者 輸入exit
退出HBase shell
命令行。
編程要求
在HBase
中創(chuàng)建表mytable
,列為data
,并在列族data
中添加三行數(shù)據(jù):
- 行號(hào)分別為:
row1
,row2
,row3
; - 列名分別為:
data:1
,data:2
,data:3
; - 值分別為:
zhangsan
,zhangsanfeng
,zhangwuji
。
預(yù)期輸出:
row1column=data:1,value=zhangsan
row2column=data:2,value=zhangsanfeng
row3column=data:3,value=zhangwuji
3row(s)
row1column=data:1,value=zhangsan
row2column=data:2,value=zhangsanfeng
row3column=data:3,value=zhangwuji
3row(s)
相關(guān)代碼:
1. # 啟動(dòng) HBase
2. start-hbase.sh
3. # 進(jìn)入 hbase shell
4. hbase shell
5. create 'mytable','data'
6. put 'mytable','row1','data:1','zhangsan'
7. put 'mytable','row2','data:2','zhangsanfeng'
8. put 'mytable','row3','data:3','zhangwuji'
9.
10.
11.
12. # 退出
13. exit
四、實(shí)驗(yàn)心得?
會(huì)使用HBase shell指令創(chuàng)建表
會(huì)使用HBase shell命令添加/刪除數(shù)據(jù)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-774137.html
會(huì)使用命令刪除表文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-774137.html
到了這里,關(guān)于云計(jì)算與大數(shù)據(jù)實(shí)驗(yàn)七 HBase的安裝與基本操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!