CGFT考點:HBase系統(tǒng)架構(gòu)包括什么?

CGFT考點:HBase系統(tǒng)架構(gòu)包括什么?HBase的系統(tǒng)架構(gòu)包括客戶端、Zookeeper服務器、Master主服務器、Region服務器。需要說明的是,HBase一般采用HDFS作為底層數(shù)據(jù)存儲,因此,圖4-9中加入了HDFS和Hadoop。

CGFT

1.客戶端

客戶端包含訪問HBase的接口,同時在緩存中維護著已經(jīng)訪問過的Region位置信息,用來加快后續(xù)數(shù)據(jù)訪問過程。HBase客戶端使用HBase的RPC機制與Master和Region服務器進行通信,其中,對于管理類操作,客戶端與Master進行RPC,而對于數(shù)據(jù)讀寫類操作,客戶端則會與Region服務器進行RPC。

2.Zookeeper服務器

Zookeeper服務器并非一臺單一的機器,可能是由多臺機器構(gòu)成的集群來提供穩(wěn)定可靠的協(xié)同服務。Zookeeper能夠很容易地實現(xiàn)集群管理的功能,如果有多臺服務器組成一個服務器集群,那么必須要一個“總管”知道當前集群中每臺機器的服務狀態(tài),一旦某臺機器不能提供服務,集群中其他機器必須知道,從而做出調(diào)整重新分配服務策略。同樣,當增加集群的服務能力時,就會增加一臺或多臺服務器,同樣,也必須讓“總管”知道。

在HBase服務器集群中,包含了一個Master和多個Region服務器,Master就是這個HBase集群的“總管”,它必須知道Region服務器的狀態(tài)。Zookeeper就可以輕松做到這一點,每個Region服務器都需要到Zookeeper中進行注冊,Zookeeper會實時監(jiān)控每個Region服務器的狀態(tài)并通知給Master,這樣,Master就可以通過Zookeeper隨時感知到各個Region服務器的工作狀態(tài)。

Zookeeper不僅能夠幫助維護當前的集群中機器的服務狀態(tài),而且能夠幫助選出一個“總管”,讓這個總管來管理集群。HBase中可以啟動多個Master,但是,Zookeeper可以幫助選舉出一個Master作為集群的總管,并*在任何時刻總有*一個Master在運行,這就避免了Master的“單點失效”問題。

CGFT

Zookeeper中保存了-ROOT-表的地址和Master的地址,客戶端可以通過訪問Zookeeper獲得-ROOT-表的地址,并*終通過三級尋址找到所需的數(shù)據(jù)。Zookeeper中還存儲了HBase的模式,包括有哪些表,每個表有哪些列族。

3. Master

服務器Master主要負責表和Region的管理工作。

·管理用戶對表的增加、刪除、修改、查詢等操作。

·實現(xiàn)不同Region服務器之間的負載均衡。

·在Region分裂或合并后,負責重新調(diào)整Region的分布。

對發(fā)生故障失效的Region服務器上的Region進行遷

客戶端訪問HBase上數(shù)據(jù)的過程并不需要Master的參與,客戶端可以訪問Zookeeper獲取-ROOT-表的地址,并*終到達相應的Region服務器進行數(shù)據(jù)讀寫,Master僅僅維護著表和Region的元數(shù)據(jù)信息,因此,負載很低。

任何時刻,一個Region只能分配給一個Region服務器。Master維護了當前可用的Region服務器列表,以及當前哪些Region分配給了哪些Region服務器,哪些Region還未被分配。當存在未被分配的Region,并且有一個Region服務器上有可用空間時,Master就給這個Region服務器發(fā)送一個請求,把該Region分配給它。Region服務器接受請求并完成數(shù)據(jù)加載后,就開始負責管理該Region對象,并對外提供服務。

4.Region服務器

Region服務器是HBase中*核心的模塊,負責維護分配給自己的Region,并響應用戶的讀寫請求。HBase一般采用HDFS作為底層存儲文件系統(tǒng)(見圖4-9),因此,Region服務器需要向HDFS文件系統(tǒng)中讀寫數(shù)據(jù)。采用HDFS作為底層存儲,可以為HBase提供可靠穩(wěn)定的數(shù)據(jù)存儲,HBase自身并不具備數(shù)據(jù)復制和維護數(shù)據(jù)副本的功能,而HDFS可以為HBase提供這些支持。當然,HBase也可以不采用HDFS,而是使用其他任何支持Hadoop接口的文件系統(tǒng)作為底層存儲,比如本地文件系統(tǒng)或問計算環(huán)境中的AmazonS3。