IT技術互動交流平臺

HBase偽分布式安裝(HDFS)+ZooKeeper安裝+HBase數據操作+HBase架構體系

來源:IT165收集  發布日期:2016-08-02 21:22:55

HBase1.2.2偽分布式安裝(HDFS)+ZooKeeper-3.4.8安裝配置+HBase表和數據操作+HBase的架構體系+單例安裝,記錄了在Ubuntu下對HBase1.2.2的實踐操作,HBase的安裝到數據庫表的操作.包含內容1.HBase單例安裝2.HBase偽分布式安裝(基于Hadoop的HDFS)過程,3.HBase的shell編程,對HBase表的創建,刪除等的命令,HBase對數據的增刪查等操作.4.簡單概述了Hbase的架構體系.5.zookeeper的單例安裝和常用操作.

1.HBase單例安裝

1.1下載

1.2.解壓并放置特定路徑如 /opt

wxl@wxl-pc:~/Downloads$ sudo mv hbase /opt/

1.3.設置JAVA_HOME 環境變量

(注意,如果本機已經設置好JAVA_HOME系統變量則此不步驟不是必須的)進入到hbase路徑下

/opt/hbase
wxl@wxl-pc:/opt/hbase$ vim conf/hbase-env.sh
#增加JAVA_HOME路徑,根據自己jdk安裝位稍有不同
export JAVA_HOME=/opt/java/

1.4.編輯conf/hbase-site.xml

HBase默認存儲在/tmp路徑下,可是每次機器重啟,/tmp下的數據會被清除,所以首席那應該更改存儲路徑,如存在/home/wxl 路徑下,并且會創建新的hbase文件夾(如果沒有安裝zookeeper,沒關系,不影響在開發和測試環境下的HBase使用)

wxl@wxl-pc:/opt/hbase$ vim conf/hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/wxl/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/wxl/zookeeper</value>
  </property>
</configuration>

這里寫圖片描述

1.5.啟動HBase

wxl@wxl-pc:/opt/hbase$ bin/start-hbase.sh

這里寫圖片描述

2.HBase的shell命令操作

2.1連接HBase shell

wxl@wxl-pc:/opt/hbase$ ./bin/hbase shell

這里寫圖片描述
可以通過輸入help命令,來大致了解可以輸入命令和Hbase存儲的數據結構

2.2.創建表

必須輸入表名和列族名(ColumnFamily name)

hbase(main):002:0> create 'test','cf'

這里寫圖片描述

2.3.查看表

hbase(main):003:0> list 'test'
TABLE                                                                           
test                                                                            
1 row(s) in 0.0320 seconds

=> ['test']

2.4.給表賦值

hbase(main):004:0> put 'test', 'wangxiaolei', 'cf:a', 'wov@outlook.com'
0 row(s) in 0.2010 seconds

hbase(main):005:0> put 'test', '王小雷','cf:b;','bio get it done'
0 row(s) in 0.0120 seconds

hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0240 seconds

這里寫圖片描述

2.5.對列表計數

使用scan關鍵字
這里寫圖片描述

2.6.查詢列表中某行

如查詢第二行,輸入

hbase(main):009:0> get 'test','王小雷'

這里寫圖片描述

2.7.更改表(刪除,修改表)

在更改表之前需要將表的狀態更改為disable,在更改完之后可以enable

hbase(main):009:0> disable 'test'
0 row(s) in 2.5870 seconds

hbase(main):010:0> enable 'test'
0 row(s) in 1.2680 seconds

hbase(main):011:0> disable 'test'
0 row(s) in 2.2370 seconds

在test表為 disable 狀態下,刪除test表

hbase(main):012:0> drop 'test'
0 row(s) in 1.2590 seconds

2.8.退出shell并停止HBase

在shell中使用quit命令(或者exit),可以退出hbase shell,但是hbase仍在運行
輸入jps可以查看HMaseter守護程序還在
這里寫圖片描述
使用stop-hbase.sh退出hbase

wxl@wxl-pc:/opt/hbase$ ./bin/stop-hbase.sh
stopping hbase.......

stopping

3.HBase偽分布式安裝

如果沒有安裝Hadoop請安裝偽分布式的Hadoop教程如下Ubuntu16.04安裝Hadoop2.6+Spark1.6+開發實例

首先停止2HBase(2.8.退出shell并停止HBase)

3.1.配置偽分布式的hbase-site.xml文件

設置distributed為true,是為了讓jvm模擬集群,再者是修改數據保存路徑,放置到HDFS上,配置rootdir,其中hdfs://localhost:9000根據自己hadoop配置指定(也可能是hdfs://localhost:8020/hbase)(但是可以不配至,HBase會自動尋找HDFS路徑)

<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>


  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>

3.2.啟動HBase

wxl@wxl-pc:/opt/hbase$ ./bin/start-hbase.sh

3.3.在HDFS上查看HBase文件

wxl@wxl-pc:/opt/hbase$ hadoop fs -ls /hbase

ls hbase

3.4.HBase上的數據操作,創建表,賦值,刪除表等見步驟1.2-1.5

4.HBase的HRegionServer和HMaster及架構體系圖

4.1此時使用jps(我開啟來hadoop,spark,hbase)

可見,HBase的HRegionServer和HMaster已經開啟.

wxl@wxl-pc:/opt/hbase$ jps
18065 Master
17795 NodeManager
19379 HRegionServer
17331 DataNode
17669 ResourceManager
17511 SecondaryNameNode
19255 HMaster
19991 Jps
17177 NameNode
19181 HQuorumPeer
18206 Worker
18607 SparkSubmit

這里寫圖片描述

4.2.關于HBase的HRegionServer和HMaster是什么,什么樣的體系結構,如下圖.

這里寫圖片描述

5.1 ZooKeeper-3.4.8安裝+常用操作實踐

版本ZooKeeper-3.4.8 系統Ubuntu16.04
5.1.創建conf/zoo.cfg

wxl@wxl-pc:/opt/zookeeper$ cp conf/zoo_sample.cfg conf/zoo.cfg
查看zookeeper配置信息
(注意此處為了測試所以dataDir=/tmp/zookeeper,這里每次重啟計算機數據就會丟失,如果保留可以放入其他路徑,如/home/wxl/zookeeper)

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181

其中,
- tickTime
- tickTime是ZooKeeper的毫秒級計量單位,表示正常的會話時間,如果超過設置值的兩倍就會連接超時.
- dataDir
- 設置HBase的路徑用于保存內存數據快照和更新數據庫事務的日志.
- clientPort
- 設置監聽連接客戶端的接口

5.2. 執行zookeeper

開啟zookeeper

wxl@wxl-pc:/opt/zookeeper$ bin/zkServer.sh start

這里寫圖片描述
連接zookeeper

wxl@wxl-pc:/opt/zookeeper$ bin/zkCli.sh -server 127.0.0.1:2181

這里寫圖片描述

5.3. zookeeper基本命令

[zk: 127.0.0.1:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
    stat path [watch]
    set path data [version]
    ls path [watch]
    delquota [-n|-b] path
    ls2 path [watch]
    setAcl path acl
    setquota -n|-b val path
    history
    redo cmdno
    printwatches on|off
    delete path [version]
    sync path
    listquota path
    rmr path
    get path [watch]
    create [-s] [-e] path data acl
    addauth scheme auth
    quit
    getAcl path
    close
    connect host:port

5.3.1. ls查看路徑下有那些文件(在zoo.cfg設置的的參數datadir)

查看

#如果沒安裝HBase此處只顯示zookeeper
[zk: 127.0.0.1:2181(CONNECTED) 1] ls /

這里寫圖片描述
5.3.2.HBase創建Znode為zk_test_wangxiaolei

[zk: 127.0.0.1:2181(CONNECTED) 2] create /zk_test_wangxiaolei my_data

這里寫圖片描述

5.3.3.驗證(查看)zk_test_wangxiaolei節點下數據

[zk: 127.0.0.1:2181(CONNECTED) 3] get /zk_test_wangxiaolei
my_data
cZxid = 0x66
ctime = Mon Aug 01 22:06:36 CST 2016
mZxid = 0x66
mtime = Mon Aug 01 22:06:36 CST 2016
pZxid = 0x66
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0

這里寫圖片描述

5.3.4.set命令來改變某(如zk_test_wangxiaolei)節點下的數據

[zk: 127.0.0.1:2181(CONNECTED) 4] set /zk_test_wangxiaolei junk
cZxid = 0x66
ctime = Mon Aug 01 22:06:36 CST 2016
mZxid = 0x69
mtime = Mon Aug 01 22:29:46 CST 2016
pZxid = 0x66
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0

這里寫圖片描述

再次get節點zk_test_wangxiaolei可以看到數據已經改變

5.3.5.最后刪除測試節點

[zk: 127.0.0.1:2181(CONNECTED) 5] delete /zk_test_wangxiaolei      
[zk: 127.0.0.1:2181(CONNECTED) 6] ls /
[zookeeper, hbase]
[zk: 127.0.0.1:2181(CONNECTED) 7]
Tag標簽: 分布式   架構   體系  
  • 專題推薦

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
香港最快开奖现场直播结果