Hbase內(nèi)部是什么機(jī)制

Hbase內(nèi)部是什么機(jī)制,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)建站為客戶提供專業(yè)的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機(jī)網(wǎng)站開發(fā)等網(wǎng)站方面業(yè)務(wù)。

眾所周知,HBase是一個非關(guān)系型數(shù)據(jù)庫,它的特征是分布式、列式存儲、開源和版本化。無論是在大數(shù)據(jù)的面試中,還是大數(shù)據(jù)的工作中,這都是一個經(jīng)常會出現(xiàn)的難題,然而卻很少人能夠說清Hbase內(nèi)部機(jī)制。今天我們就花些時間聊聊Hbase內(nèi)部是什么機(jī)制。

在 HBase 中無論是增加新行還是修改已有的行,其內(nèi)部流程都是相同的。HBase 接到命令后存下變化信息,或者寫入失敗拋出異常。默認(rèn)情況下,執(zhí)行寫入時會寫到兩個地方:預(yù)寫式日志(write-ahead log,也稱 HLog)和 MemStore。HBase 的默認(rèn)方式是把寫入動作記錄在這兩個地方,以保證數(shù)據(jù)持久化。只有當(dāng)這兩個地方的變化信息都寫入并確認(rèn)后,才認(rèn)為寫動作完成。

MemStore 是內(nèi)存里的寫入緩沖區(qū),HBase 中數(shù)據(jù)在永久寫入硬盤之前在這里累積。當(dāng)MemStore 填滿后,其中的數(shù)據(jù)會刷寫到硬盤,生成一個HFile。HFile 是HBase 使用的底層存儲格式。HFile 對應(yīng)于列族,一個列族可以有多個 HFile,但一個 HFile 不能存儲多個列族的數(shù)據(jù)。在集群的每個節(jié)點上,每個列族有一個MemStore。

大型分布式系統(tǒng)中硬件故障很常見,HBase 也不例外。設(shè)想一下,如果MemStore 還沒有刷寫,服務(wù)器就崩潰了,內(nèi)存中沒有寫入硬盤的數(shù)據(jù)就會丟失。HBase 的應(yīng)對辦法是在寫動作完成之前先寫入WAL。HBase 集群中每臺服務(wù)器維護(hù)一個 WAL 來記錄發(fā)生的變化。WAL 是底層文件系統(tǒng)上的一個文件。直到WAL 新記錄成功寫入后,寫動作才被認(rèn)為成功完成。這可以保證 HBase 和支撐它的文件系統(tǒng)滿足持久性。大多數(shù)情況下,HBase 使用 Hadoop 分布式文件系統(tǒng)(HDFS)來作為底層文件系統(tǒng)。

如果 HBase 服務(wù)器宕機(jī),沒有從 MemStore 里刷寫到 HFile 的數(shù)據(jù)將可以通過回放 WAL 來恢復(fù)。你不需要手工執(zhí)行。Hbase 的內(nèi)部機(jī)制中有恢復(fù)流程部分來處理。每臺 HBase 服務(wù)器有一個 WAL,這臺服務(wù)器上的所有表(和它們的列族)共享這個 WAL。
你可能想到,寫入時跳過 WAL 應(yīng)該會提升寫性能。但我們不建議禁用 WAL, 除非你愿意在出問題時丟失數(shù)據(jù)。如果你想測試一下,如下代碼可以禁用WAL: 注意:不寫入 WAL 會在 RegionServer 故障時增加丟失數(shù)據(jù)的風(fēng)險。關(guān)閉 WAL, 出現(xiàn)故障時 HBase 可能無法恢復(fù)數(shù)據(jù),沒有刷寫到硬盤的所有寫入數(shù)據(jù)都會丟失。

看完上述內(nèi)容,你們掌握Hbase內(nèi)部是什么機(jī)制的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

名稱欄目:Hbase內(nèi)部是什么機(jī)制
當(dāng)前路徑:http://bm7419.com/article24/pcicce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、企業(yè)建站、響應(yīng)式網(wǎng)站做網(wǎng)站、網(wǎng)站維護(hù)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司