1.Client
用戶通過Client(客戶端)訪問HBase。同時,為了提高對HBase的訪問速度和效率,客戶端還維護了一份緩存。
2.Zookeeper
Zookeeper主要起的作用是協(xié)同服務,這具體包括以下幾個方面:
(1)HBase通過Zookeeper實現(xiàn)HMaster的高可用。同一時刻,Zoopkeeper保證集群中只有一個HMaster;如果HMaster出現(xiàn)異常,Zoopkeeper會通過選舉產(chǎn)生新的HMaster。
(2)Zoopkeeper監(jiān)控RegionServer的狀態(tài),如果RegionServer有異;蛴行鹿(jié)點加入,Zookeeper會以回調(diào)方式通知HMaster。
(3)Zoopkeeper存儲HBase元數(shù)據(jù)的統(tǒng)一入口地址。HBase真正的元數(shù)據(jù)存放在自己的meta表中,meta表的位置信息存儲在Zookeeper中。
3.HMaster
HMaster是HBase集群的主節(jié)點,它的職責主要包括: RegionServer狀態(tài)的監(jiān)控、RegionServer的故障轉(zhuǎn)移、元數(shù)據(jù)信息的更新、Region的分配、Region的故障轉(zhuǎn)移和集群的負載均衡等。
4. HRegionServer
HRegionServer是HBase集群的從節(jié)點,負責用戶的讀寫請求。它的職責主要包括:管理主節(jié)點分配給它的Region、處理讀寫請求、與底層HDFS的交互、拆分變大的Region
以及StoreFile的合并。
5.Region
Region是HBase表的分片。HBase根據(jù)RowKey的不同的把表切分成不同的Region。一個Region由一個RegionServer管理,同一個RegionServer中可以管理多個不同的Region。
6.Store
HBase表中的一個列族對應一個Store。Store中包含MemStore和StoreFile。
7.MemStore
MemStore就是內(nèi)存存儲,用于緩存保存剛寫入HBase的數(shù)據(jù)或從HBase中讀取的數(shù)據(jù)。MemStore很小,一般幾兆到幾十兆。
8. StoreFile
HBase寫入數(shù)據(jù)時,當MemStore存儲滿后,會溢寫磁盤到StoreFile中。
9.HFile
HFile是實際的存儲文件。StoreFile是以HFile的形式存儲在HDFS的。
10. HDFS
HDFS提供真正的底層數(shù)據(jù)存儲服務,具體功能如下:
l 提供表數(shù)據(jù)和元數(shù)據(jù)的底層分布式存儲服務
l 數(shù)據(jù)多副本,保證的HBase的高可靠和高可用
11.Write-Ahead logs
HBase讀寫數(shù)據(jù)時,數(shù)據(jù)會先在內(nèi)存中保留一段時間,然后再寫進磁盤。節(jié)點故障等因素有可能導致內(nèi)存中的數(shù)據(jù)丟失。為了解決這個問題,HBase會先將數(shù)據(jù)寫在Write-Ahead logfile日志文件中,然后再寫入內(nèi)存。這樣,在系統(tǒng)出現(xiàn)故障時,數(shù)據(jù)就可以通過這個日志文件進行重建
>>本文地址:http://liujunjsxg.cn/zhuanye/2021/67988.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?