中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase系統架構是怎么樣的

發布時間:2021-12-08 13:50:01 來源:億速云 閱讀:167 作者:小新 欄目:云計算

小編給大家分享一下HBase系統架構是怎么樣的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

HBase 系統架構圖

  HBase系統架構是怎么樣的

  組成部件說明 
  Client: 
  使用HBase RPC機制與HMaster和HRegionServer進行通信 
  Client與HMaster進行通信進行管理類操作 
  Client與HRegionServer進行數據讀寫類操作 
  Zookeeper: 
  Zookeeper Quorum存儲-ROOT-表地址、HMaster地址 
  HRegionServer把自己以Ephedral方式注冊到Zookeeper中,HMaster隨時感知各個HRegionServer的健康狀況 
  Zookeeper避免HMaster單點問題 
  HMaster: 
  HMaster沒有單點問題,HBase中可以啟動多個HMaster,通過Zookeeper的Master Election機制保證總有一個Master在運行 
  主要負責Table和Region的管理工作: 
  1 管理用戶對表的增刪改查操作 
  2 管理HRegionServer的負載均衡,調整Region分布 
  3 Region Split后,負責新Region的分布 
  4 在HRegionServer停機后,負責失效HRegionServer上Region遷移 
  HRegionServer: 
  HBase中最核心的模塊,主要負責響應用戶I/O請求,向HDFS文件系統中讀寫數據

  HBase系統架構是怎么樣的

  Client寫入 -> 存入MemStore,一直到MemStore滿 -> Flush成一個StoreFile,直至增長到一定閾值 -> 觸發Compact合并操作 -> 多個StoreFile合并成一個StoreFile,同時進行版本合并和數據刪除 -> 當StoreFiles Compact后,逐步形成越來越大的StoreFile -> 單個StoreFile大小超過一定閾值后,觸發Split操作,把當前Region Split成2個Region,Region會下線,新Split出的2個孩子Region會被HMaster分配到相應的HRegionServer上,使得原先1個Region的壓力得以分流到2個Region上。
由此過程可知,HBase只是增加數據,有所得更新和刪除操作,都是在Compact階段做的,所以,用戶寫操作只需要進入到內存即可立即返回,從而保證I/O高性能。

  HLog 
  引入HLog原因: 
  在分布式系統環境中,無法避免系統出錯或者宕機,一旦HRegionServer意外退出,MemStore中的內存數據就會丟失,引入HLog就是防止這種情況 
  工作機制: 
  每個HRegionServer中都會有一個HLog對象,HLog是一個實現Write Ahead Log的類,每次用戶操作寫入Memstore的同時,也會寫一份數據到HLog文件,HLog文件定期會滾動出新,并刪除舊的文件(已持久化到StoreFile中的數據)。當HRegionServer意外終止后,HMaster會通過Zookeeper感知,HMaster首先處理遺留的HLog文件,將不同region的log數據拆分,分別放到相應region目錄下,然后再將失效的region重新分配,領取到這些region的HRegionServer在Load Region的過程中,會發現有歷史HLog需要處理,因此會Replay HLog中的數據到MemStore中,然后flush到StoreFiles,完成數據恢復。

  HBase存儲格式 
  HBase中的所有數據文件都存儲在Hadoop HDFS文件系統上,格式主要有兩種: 
  1 HFile HBase中KeyValue數據的存儲格式,HFile是Hadoop的二進制格式文件,實際上StoreFile就是對HFile做了輕量級包裝,即StoreFile底層就是HFile 
  2 HLog File,HBase中WAL(Write Ahead Log) 的存儲格式,物理上是Hadoop的Sequence File

  HFile

  HBase系統架構是怎么樣的

  KeyLength和ValueLength:兩個固定的長度,分別代表Key和Value的長度 
  Key部分:Row Length是固定長度的數值,表示RowKey的長度,Row 就是RowKey 
  Column Family Length是固定長度的數值,表示Family的長度 
  接著就是Column Family,再接著是Qualifier,然后是兩個固定長度的數值,表示Time Stamp和Key Type(Put/Delete) 
  Value部分沒有這么復雜的結構,就是純粹的二進制數據

  HLog File

  

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

以上是“HBase系統架構是怎么樣的”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

军事| 山阴县| 牙克石市| 西宁市| 砀山县| 平和县| 伊春市| 临猗县| 龙南县| 温州市| 汶上县| 湛江市| 汪清县| 博客| 金寨县| 新绛县| 新津县| 南宁市| 奈曼旗| 乌鲁木齐市| 石家庄市| 阿坝县| 土默特右旗| 雷州市| 西林县| 金阳县| 嘉兴市| 信丰县| 东台市| 兴国县| 万安县| 林口县| 阿鲁科尔沁旗| 义乌市| 天长市| 商丘市| 德州市| 庆安县| 新邵县| 汝南县| 亳州市|