- HBASE是用Java語言編寫的,所以在安裝HBASE時(shí),必須安裝jdk
- 安裝HBASE是必須有hadoop平臺(tái)
- HBASE和jdk的版本存在兼容性,一定注意
jdk:
hadoop:
① 上傳安裝包(hbase-1.2.6-bin.tar.gz)
②解壓:tar zxvf hbase-1.2.6-bin.tar.gz -C /application/
③配置環(huán)境變量:
export HBASE_HOME=/application/hbase-1.2.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$SQOOP_HOME/bin:$HBASE_HOME/bin
source /etc/profie #刷新配置文件
hbase version #查看是否配置成功
④修改hbase的配置文件
cd /application/hbase-1.2.6/conf
hbase-env.sh:
export JAVA_HOME=/application/jdk1.8 #配置jdk
export HBASE_MANAGES_ZK=false #配置使用自己的zookeeper
#psHBASE中必須依賴zookeeper,zookeeper作用是存儲(chǔ)HBASE的尋址入口HBASE自帶的是單機(jī)版的,所有需要開啟使用自己的
hbase-site.xml:
<configuration>
<property>
<!-- 指定 hbase 在 HDFS 上存儲(chǔ)的路徑 -->
<name>hbase.rootdir</name>
<value>hdfs://zzy/hbase</value>
</property>
<property>
<!-- 指定 hbase 是分布式的 -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!-- 指定 zk 的地址,多個(gè)用“,”分割 -->
<name>hbase.zookeeper.quorum</name>
<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
</property>
</configuration>
regionservers:
hadoop01
hadoop02
hadoop03
backup-masters(自行創(chuàng)建):
#配置備份主節(jié)點(diǎn)的節(jié)點(diǎn)
hadoop02
⑤要把 hadoop 的 hdfs-site.xml 和 core-site.xml 放到 hbase-1.2.6/conf 下
因?yàn)閔adoop集群是HA模式,所以需要配置:
cp /application/hadoop-2.7.6/etc/hadoop/core-site.xml .
cp /application/hadoop-2.7.6/etc/hadoop/hdfs-site.xml .
⑥分發(fā)安裝到各節(jié)點(diǎn)
cd /application/
scp -r hbase-1.2.6 hadoop02:$PWD
scp -r hbase-1.2.6 hadoop03:$PWD
⑦時(shí)間同步:
HBase 集群對于時(shí)間的同步要求的比 HDFS 嚴(yán)格,所以,集群啟動(dòng)之前千萬記住要進(jìn)行時(shí)間同步,要求相差不要超過 30s。在定時(shí)任務(wù)中配置定時(shí)更新時(shí)間。
① 先在每一個(gè)節(jié)點(diǎn)zookeeper 集群:zkServer.sh start
②啟動(dòng)hdfs集群:start-dfs.sh
③啟動(dòng)hbase:start-hbase.sh(啟動(dòng)) / stop-hbase.sh(關(guān)閉) 最好在主節(jié)點(diǎn)啟動(dòng),在哪個(gè)節(jié)點(diǎn)啟動(dòng)哪個(gè)節(jié)點(diǎn)就是hmaster。
④ 檢測是否正常啟動(dòng):jps
Web界面訪問:http://HBASE主節(jié)點(diǎn):16010
注意:如果有節(jié)點(diǎn)相應(yīng)的進(jìn)程沒有啟動(dòng),那么可以手動(dòng)啟動(dòng):
hbase-daemon.sh start master
hbase-daemon.sh start regionserver
在HBASE集群中:有多個(gè)主(hmaster)、多個(gè)從(RegionServer),每一個(gè)從節(jié)點(diǎn)中存儲(chǔ)的是多個(gè)Region,每一個(gè)Region,是HBASE一張表中分出來的(默認(rèn)的Region大小為10G)。
集群角色介紹:
是HBASE將一個(gè)表中的所有數(shù)據(jù)按照RowKey的不同范圍進(jìn)行切割的邏輯單元,每一個(gè)region負(fù)責(zé)一定范圍數(shù)據(jù)的讀寫訪問。Region由RegionServer負(fù)責(zé)管理。HBASE中的region的概念就和hdfs中的數(shù)據(jù)塊的概念差不多。Region 是 HBase 表切分出來的一個(gè)分片。Region的大小在1.x版本的時(shí)候是1G,在2.X版本的時(shí)候是10G。
Region的工作機(jī)制:
當(dāng)客戶端發(fā)送命令(delete/put)的時(shí)候,region接收到請求的時(shí)候,首先會(huì)將數(shù)據(jù)更新到內(nèi)存中,同時(shí)將操作記錄到日志(追加),不論做的是什么操作,就會(huì)記錄到操作日志中,為了進(jìn)行數(shù)據(jù)恢復(fù),因?yàn)閞egion接收請求的時(shí)候,只是將數(shù)據(jù)同步到內(nèi)存,如果節(jié)點(diǎn)一宕機(jī)則數(shù)據(jù)丟失,所以通過日志的方式進(jìn)行數(shù)據(jù)恢復(fù)(或者說是持久化)。當(dāng)然這個(gè)日志記錄到一定大小的時(shí)候會(huì)進(jìn)行切分,切分出來的叫Hfile,最后到有很多Hfile的時(shí)候,會(huì)進(jìn)行日志合并,會(huì)將這些Hfile合并一個(gè)storeFile,在進(jìn)行合并的時(shí)候,會(huì)將日志中的delete和put進(jìn)行抵消刪除(即一個(gè)put操作,如果有一個(gè)對應(yīng)有一個(gè)delete操作,則這兩條記錄抵消,在合并的時(shí)候不會(huì)記錄),最終合并出來的storefile中就會(huì)只有put操作而沒有delete操作。
HBASE的主節(jié)點(diǎn),負(fù)責(zé)整個(gè)集群的狀態(tài)感知、負(fù)載分配、負(fù)責(zé)用戶表的元數(shù)據(jù) (schema)管理(可以配置多個(gè)用來實(shí)現(xiàn) HA),只有hmaster才有權(quán)利去修改元數(shù)據(jù)。
HBase 的 HMaster 其實(shí)就算是宕機(jī)一段時(shí)間也可以正常對外提供服務(wù)的,因?yàn)樵贖Master在宕機(jī)的時(shí)候,集群仍然可以進(jìn)行查詢但是不能進(jìn)行讀寫。
HMaster的負(fù)載:當(dāng)?shù)谝淮谓⒈淼臅r(shí)候,只有一個(gè)Region,然后當(dāng)region的值超過1G的時(shí)候,此時(shí)HBASE的HMaster會(huì)將region進(jìn)行拆分(如果是2G,一份為二,每一個(gè)是1G),拆分后的region可能不存在一個(gè)節(jié)點(diǎn)上。由于HBASE是搭建在hadoop之上的,所以region的副本會(huì)在hdfs操作。
hmaster的節(jié)點(diǎn)的上下線感知:當(dāng)如果有一臺(tái)Reginaservers宕機(jī)了,hmaster會(huì)自動(dòng)將這個(gè)宕機(jī)節(jié)點(diǎn)中存儲(chǔ)的region通過其他的副本在另外的節(jié)點(diǎn)上復(fù)制出來(基于hdfs的副本),當(dāng)宕機(jī)的節(jié)點(diǎn)重新恢復(fù)的時(shí)候,hmaster又會(huì)進(jìn)行負(fù)載,保證每一個(gè)Reginaservers中的region的個(gè)數(shù)大致相同,(只能保證集群的region的個(gè)數(shù)進(jìn)行負(fù)載,如果region的大小不同,不能根據(jù)數(shù)據(jù)的大小進(jìn)行負(fù)載)。
HBase 中真正負(fù)責(zé)管理 Region 的服務(wù)器,也就是負(fù)責(zé)為客戶端進(jìn)行表數(shù)據(jù)讀 寫的服務(wù)器。每一臺(tái) RegionServer 會(huì)管理很多的 Region,一個(gè) RegionServer 上面管理的所有 的region不屬于同一張表。負(fù)責(zé)Region的拆分,負(fù)責(zé)和底層的HDFS的存儲(chǔ)交互,負(fù)責(zé)StoreFile 的合并。
整個(gè) HBase 中的主從節(jié)點(diǎn)協(xié)調(diào),元數(shù)據(jù)的入口,主節(jié)點(diǎn)之間的選舉,集群節(jié)點(diǎn) 之間的上下線感知……都是通過 ZooKeeper 來實(shí)現(xiàn)
Client 包含了訪問 HBase 的接口,另外 Client 還維護(hù)了對應(yīng)的 Cache 來加速 HBase 的 訪問,比如 Cache 的.META.元數(shù)據(jù)的信息。(緩存上一個(gè)查詢的rowkey的具體位置,方便快速一次查詢)。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁標(biāo)題:hbase的集群搭建-創(chuàng)新互聯(lián)
標(biāo)題URL:http://chinadenli.net/article32/cdpopc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站改版、微信公眾號、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容