Hbase的安裝和配置


Hbase簡介
Hbase概述
Hbase原型是Google的BigTable論文,受到了改論文思想的啟發,目前作為Hadoop的子項目來開發維護,用於支持結構化的數據存儲。
Hbase是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用Hbase技術可以在廉價的服務器上搭建起大規模的結構化存儲集群。
Hbase的目標是存儲並處理大型的數據,更具體來說是僅需使用普通的硬件配置,就能處理由成千上萬的行和列所組成的大型數據。
Hbase的核心是能夠實現在HDFS中數據的隨機讀寫。
Hbase的特點:
海量存儲、列式存儲(列族存儲)、極易擴展、高並發、稀疏(列族中可以制定任意多的列,列數據可以為空,並且該情況下不會占用存儲空間)
1.沒有真正的索引:行是順序存儲的,每行中的列也是,所以不存在索引膨脹的問題,而且插入性能和表的大小無關。
2.自動分區:在表增長的時候,表會自動分裂成區域,並分布到可用的節點上。
3.線性擴展和對於新節點的自動處理:增加一個節點,把它指向現有集群並運行regionserver。區域自動重新進行平衡,負載均勻分布。
4.普通商用硬件支持:集群可以用1000~5000美金的單個節點搭建,而不需要使用單個5萬美金的節點。RDBMS需要支持大量I/O,因此要求更昂貴的硬件。
5.容錯:大量節點意味着每個節點的重要性並不突出。不用擔心單個節點失效。
6.批處理 MapReduce集成功能使我們可用全並行的分布式作業根據“數據的位置”來批處理它們。
Hbase結構
DataNode是管理存儲數據的進程,並不是實質的存儲節點。
使用Hbase必須先啟動Hadoop和ZooKeeper,用來支持HDFS存儲數據和高可用,高可用是NameNode做集群並將元數據存儲在ZooKeeper中。
Hbase的分布式安裝部署
集群規划:三台服務器上部署Hbase集群,基於前面的文章中已經部署的Hadoop、ZooKeeper環境的三台虛擬機。

選擇版本進行下載,此處選擇的是hbase-2.0.5

將壓縮包使用Xftp上傳hadoop-1的/usr目錄下:

進入/usr目錄,使用tar命令將壓縮包進行解壓,執行命令:

1 # tar zxvf hbase-2.0.5-bin.tar.gz

解壓完成后會在/usr目錄下生成hbase-2.0.5目錄:

進入Hbase的配置文件目錄,並查看該目錄下的文件:

1 # cd hbase-2.0.5/conf/
2 # ll

使用vim編輯配置文件hbase-env.sh,更改內容如下:

使用vim編輯配置文件hbase-site.xml,更改內容如下:

配置文件參數說明:

配置項 說明
hbase.rootdir hdfs://hadoopnn:9000/hbase_db region servers共享的目錄
hbase.cluster.distributed true 值為true則是分布式模式
hbase.zookeeper.quorum hadoopnn,hadoopdn1,hadoopdn2 使用逗號分隔的ZooKeeper集合中的服務器列表
hbase.zookeeper.property.clientPort 2181 客戶端將連接的端口
hbase.zookeeper.property.dataDir /usr/hbase-2.0.5/zk_data 快照存儲的目錄
hbase.tmp.dir /usr/hbase-2.0.5/tmp 本地文件系統上的臨時目錄


使用vim編輯配置文件regionservers,更改內容如下:

然后將/usr目錄下的hbase-2.0.5遠程拷貝到hadoop-2和hadoop-3主機的/usr目錄下:

1 # scp -r /usr/hbase-2.0.5 hadoop-2:/usr
2 # scp -r /usr/hbase-2.0.5 hadoop-3:/usr

在hadoop-1主機上執行start-all.sh啟動hadoop集群,jps命令查看hadoop-1上的啟動了NameNode等進程:

hadoop-2和hadoop-3上啟動了DataNode等進程:

分別在三台主機上按照順序啟動ZooKeeper集群:

1 # zkServer.sh start

並使用jps命令查看ZooKeeper集群啟動成功。
在三台主機上分別使用vim編輯環境變量,更改內容如下:

1 # vim /etc/profile

保存退出,執行命令是修改生效:

1 # source /etc/profile

執行start-hbase.sh啟動hbase集群:

1 # start-hbase.sh

並使用jps查看進程,hadoop-1中啟動了HMaster進程,hadoop-2和hadoop-3中啟動了HRegionServer進程,hbase集群啟動成功。

在瀏覽器中輸入:[http://192.168.44.128:16010](http://192.168.44.128:16010/),即可打開Hbase的web頁面:

注意:Hbase集群是HMaster管理整個集群,為了實現HMaster的高可用,可以在集群的其他主機上啟用備份HMaster服務,每個集群最多可以啟動9個備份HMaster服務:

1 # local-master-backup.sh start 2

2為默認端口的偏移量,每個HMaster使用兩個端口(默認為16000和16010),例如在hadoop-2執行該命令,則備份HMaster服務的端口為16012。
此時在瀏覽器中打開備份服務的ip:16012,即可看到集群中的HMaster的狀態信息。
若要終止備份HMaster服務,需要查看該備份服務的PID,然后使用kill -9殺死該進程即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM