hadoop生態系統之hbase的部署

hbase的一些設計機制

zookeeper與hbase

hbase依賴zookeeper來管理它的HRegionServers,zookeeper存儲的數據結構相似於文件系統的目錄節點樹模型,主要經過維護和監控你存儲的數據的狀態變化,觸發事件,
從而進行基於數據的集羣管理,zookeeper的用法,就相似如目錄節點樹的操做,首先建立一個目錄節點,給某個目錄節點設置數據,獲取某個目錄節點的全部子目錄節點,
給某個目錄節點設置權限和監控這個目錄節點的狀態變化,通知目錄節點的擁有者。
zookeeper做爲一個集羣系統的管理系統,它對所管理的集羣是無耦和的,它提供一個存儲和管理數據場所,集羣系統將它的管理模塊入駐其中,
一旦數據的狀態發生變化,Zookeeper就將負責通知相應的住戶們做出反應,從而實現管理Master/Slave集羣。
此外,zookeeper也適合用於集羣的配置管理,共享瑣,隊列管理等。做爲一個獨立的集羣管理系統它是很優秀的,值得一試。
zookeeper能夠分佈式部署,也能夠只有一個。sql

hbase的存儲系統

hbase有一套本身的完整的數據存儲系統HStore,包括本身的存儲格式(封裝自HFile),內存存儲緩衝MemStore,最終存儲StoreFiles實體,小StoreFiles合併Compact系統,
大StoreFiles的Region Split系統。記錄寫操做的HLog等。shell

時鐘同步

habse對時鐘一致性有較高的要求。realserver建議裝上ntp時鐘同步服務。數據結構

Thrift Gateway

跟大多數nosql同樣支持Thrift接口。 稱爲 hbase-thrift-server你須要啓動這個服務。bin/hbase.sh thrift ssh

文件打開數目限制

hbase運行時會大量的打開文件,通常默認的限制1024是不夠的。使用ulimit打開habse的文件限制。設置爲最大值把。nosql

安裝部署hbase集羣

選用cloudera的 hbase0.94.6-cdh4.3.0
選用理由:依據cloudera的特點,cloudera知名,有實力,商用性強,生態系統組件完善,且各個組件版本對應正確,文檔維護好。分佈式

申請的機器:測試

192.168.2.21
192.168.2.22 設計

假設你已經安裝好了。server

配置過程:xml

配置hbase是比較簡單的,只須要配置 conf/hbase-site.xml 跟文件就行 conf/hbase-env.sh

下面是咱們用的一些:(注意我這裏是用ip來代替的,在你的環境中請使用hostname來替換)

核心配置conf/hbase-site.xml

hbase.rootdir hdfs://192.168.2.21:9000/hbase hbase的根目錄
hbase.cluster.distributed true 以分佈式方式運行
hbase.zookeeper.property.quorum 192.168.2.21 zookeeper監管列表
hbase.regionserver.dns.interface 選中一個網卡,全部機器須要同樣。無必要,不設置
hbase.regionserver.dns.nameserver 設置dns解析地址 用於解析hostname,生產環境有必要

運行是環境變量配置conf/hbase-env.sh :
HBASE_MANAGES_ZK true 使用內置的zookeeper服務在下面的文章中會介紹集羣部署zookeeper

regionserver列表 conf/regionserver:
192.168.2.21 HMaster zookeeper regionserver
192.168.2.22 regionserver

啓動hbase
*啓動前確保你的主機們都是ssh無密碼互通的,並且時間是一致的
bin/start-hbase.sh
啓動後使用jps命令,你應該能夠看到相關的服務,其中QuorumPeerMain爲zookeeper服務

測試使用hbase

bin/hbase shell

進入shell界面

create ‘t1′,{NAME=>’cf1′},{NAME=>’cf2′},{NAME=>’cf3′}

建立表t1 columnfamily 是cf1,cf2,cf3

使用命令 list

列出你建立的表信息。

相關文章
相關標籤/搜索