91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Hbase內部是什么機制

發布時間:2021-11-26 16:44:36 來源:億速云 閱讀:175 作者:柒染 欄目:編程語言

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

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

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

MemStore 是內存里的寫入緩沖區,HBase 中數據在永久寫入硬盤之前在這里累積。當MemStore 填滿后,其中的數據會刷寫到硬盤,生成一個HFile。HFile 是HBase 使用的底層存儲格式。HFile 對應于列族,一個列族可以有多個 HFile,但一個 HFile 不能存儲多個列族的數據。在集群的每個節點上,每個列族有一個MemStore。

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

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

看完上述內容,你們掌握Hbase內部是什么機制的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

湖州市| 雅安市| 桂平市| 永德县| 茶陵县| 门头沟区| 美姑县| 全椒县| 武定县| 朝阳县| 新邵县| 长寿区| 涡阳县| 眉山市| 巴里| 健康| 张家界市| 扶风县| 高清| 营口市| 肥西县| 安阳县| 措美县| 延安市| 昭平县| 高州市| 远安县| 宁武县| 伊宁县| 桃源县| 塘沽区| 上饶市| 塔城市| 江城| 抚州市| 宁陕县| 新民市| 鹿邑县| 易门县| 青龙| 赤城县|