Hbase的體系結構

Hbase的體系結構

在這裏插入圖片描述

Client

包含訪問Hbase的接口,並維護表對應的RegionServer和Region緩存實現對HRegionServer的快速訪問

Master

(1)管理集羣中所有的RegionServer,包括RegionServer的負載均衡,RegionServer的宕機恢復,Region的遷移
(2)響應用戶對錶的各種管理請求,包括DDl,權限操作、切分表、合併數據分片以及Compaction等
(3)清理過期日誌,Master會隔一段時間檢查Hlog是否過期,Hfile是否被刪除,在過期後會被刪除

ZookeePer

(1)實現Master的高可用,任何時候只有一個Master可用,工作的Master掛了後,啓用其它的Master
(2)存儲元數據信息,管理RegionServera的集合,保存系統表hbase:meta的Region地址
(3)通過心跳檢測RegionServer,如果檢測到RegionServer宕機,則通知master處理
(4)分佈式鎖,Master對錶進行ddl操作時,會加表鎖,先後順序

HLog(WAL log)

HLog文件就是一個普通的HadoopSequenceFile,SequenceFile的Key是HLogKey對象,HLogKey中記錄了寫入數據的歸屬信息,除了table和region名字外,同時還包括sequencenumber和timestamp,timestamp是寫入時間,sequencenumber的起始值爲0,或者是最近一次存入文件系統中sequence number
HLogSequeceFile的Value是HBase的KeyValue對象,即對應HFile中的KeyValue

BlockCache

BlockCache作爲RegionServer的讀緩存,數據讀取時,先在BlockCache中讀取,如果沒有,再在Region中讀取,Region中讀取的數據也會在BlockCache中緩存

RegionServer

RegionServer主要處理用戶的I/O請求,由Hlog(默認一個,可以開啓多個),BlockCache,多個Region組成

Region

Region是Hbase中分佈式存儲和負載均衡的最小單元,最小單元表示不同的Region可以分佈在不同的RegionServer上,單個的Region不能放在不同的RegionServer上

Store

Region由多個Store組成,一個Store對應一個列族,一個Store由一個Memstore和多個Storefile組成,Storefile就是Hfile的包裝

MemStore
MemStore是緩存,寫數據時,首先把數據寫到MemStor中

Hfile
Hfile是真正存儲數據的地方,Hfile的底層是由Hdfs的block組成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章