hadoop技術生態當中的hbase,其實全稱叫做hadoop database,顧名思義,所謂hbase,其實也就是hadoop的資料,而從架構的角度來說,hbase就是乙個分布式儲存系統。今天的大資料入門分享,我們來講講hbase的基礎架構。
hbase的前身,其實是google「三駕馬車」之一的big table的開源版本,hbase建立在hdfs之上,為大資料系統平台提供相應的資料儲存支援。
在hadoop生態當中,hbase利用hdfs作為其檔案儲存系統,利用mapreduce 來處理 hbase 中的海量資料,利用zookeeper來完成協調任務,提供高可靠性、高效能、列儲存、可伸縮、實時讀寫的服務。
1、hmaster
功能:1)監控regionserver
2)處理regionserver故障轉移
3)處理元資料的變更
4)處理region的分配或移除
5)在空閒時間進行資料的負載均衡
6)通過zookeeper發布自己的位置給客戶端
2、regionserver
功能:1)負責儲存hbase的實際資料
2)處理分配給它的region
3)重新整理快取到hdfs
4)維護hlog
5)執行壓縮
6)負責處理region分片
元件:
1)write-ahead logs
hbase的修改記錄,當對hbase讀寫資料的時候,資料不是直接寫進磁碟,它會在記憶體中保留一段時間(時間以及資料量閾值可以設定)。但把資料儲存在記憶體中可能有更高的概率引起資料丟失,為了解決這個問題,資料會先寫在乙個叫做write-ahead logfile的檔案中,然後再寫入記憶體中。所以在系統出現故障的時候,資料可以通過這個日誌檔案重建。
2)hfile
這是在磁碟上儲存原始資料的實際的物理檔案,是實際的儲存檔案。
3)store
hfile儲存在store中,乙個store對應hbase表中的乙個列族。
4)memstore
顧名思義,就是記憶體儲存,位於記憶體中,用來儲存當前的資料操作,所以當資料儲存在wal中之後,regsionserver會在記憶體中儲存鍵值對。
5)region
hbase表的分片,hbase表會根據rowkey值被切分成不同的region儲存在regionserver中,在乙個regionserver中可以有多個不同的region。
1)海量儲存
hbase適合儲存pb級別的海量資料,在pb級別的資料以及採用廉價pc儲存的情況下,能在幾十到百毫秒內返回資料。
2)列式儲存
這裡的列式儲存其實說的是列族儲存,hbase是根據列族來儲存資料的。
3)易擴充套件
hbase的擴充套件性主要體現在兩個方面,乙個是基於上層處理能力(regionserver)的擴充套件,乙個是基於儲存的擴充套件(hdfs)。通過橫向新增regionsever的機器,進行水平擴充套件,提公升hbase上層的處理能力,提公升hbsae服務更多region的能力。
4)高併發
由於目前大部分使用hbase的架構,都是採用的廉價pc,因此單個io的延遲其實並不小,一般在幾十到上百ms之間。這裡說的高併發,主要是在併發的情況下,hbase的單個io延遲下降並不多,能獲得高併發、低延遲的服務。
關於大資料入門,hbase基礎架構解析,以上就為大家做了簡單的介紹了。hbase在hadoop技術生態當中的重要性,不必強調大家也清楚,而對基礎架構的理解和掌握,需要大家花時間去多理解多深入。
大資料入門 HBase資料模型詳解
hbase作為hadoop生態當中的nosql資料庫,基於hdfs去完成實際的資料儲存任務,高效能是得到普遍的認可的。而hbase在儲存上的高效能,與自身的資料模型設計有很大的關係。今天的大資料入門分享,我們就來講講,hbase資料模型的相關知識。根據定義,我們知道hbase是乙個支援分布式的列式資...
大資料技術 HBase與Solr系統架構設計
如何在保證儲存量的情況下,又能保證資料的檢索速度。hbase提供了完善的海量資料儲存機制,solr solrcloud提供了一整套的資料檢索方案。使用hbase搭建結構資料儲存雲,用來儲存海量資料 使用solrcloud集群用來搭建搜尋引擎,將要查詢的結構化資料的id查詢出來,只配置它儲存id。1....
大資料元件 HBASE
1 hbase是乙個非關係型分布式資料庫 nosql bigtable 參考的是谷歌 2 高可靠 採用主從架構,使用zookeeper管理 高效能 分布式並行處理 面向列 可伸縮 可新增子節點 3 採用hdfs作為檔案儲存系統 也可以採用其它的檔案儲存系統,沒整合mr計算的功能 4 hbase擅長查...