日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache HBase快照介绍

發布時間:2025/7/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache HBase快照介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自?http://www.importnew.com/4966.html


CDH是Cloudera的完全開源分布式Apache Hadoop及相關項目(包括Apache?HBase)。CDH的當前版本(4.2)引入的一個HBase新特性最近加入到了主干中,允許用戶對指定表進行快照。

在CDH4.2之前,唯一能夠備份或克隆表的方法就是使用復制/導出表或者在關閉表之后拷貝HDFS中所有的hfile。復制/導出是通過一系列工具調用MapReduce來掃描并復制表,這樣會對域服務器的效率有直接的影響。關閉表會停止所有的讀寫操作,實際環境中往往無法接受。

相比之下HBase快照允許管理員不拷貝數據直接克隆一張表,這對域服務器產生的影響最小。將快照導出至其他集群不會直接影響到任何域服務器;導出只是帶有一些額外邏輯的群間數據同步。

下面是一些HBase快照的使用場景:

  • 從用戶/應用異常中還原
  • 從一個已知的安全狀態恢復/還原
  • 查看之前的快照并有選擇性的合并不同寫入產品環境
  • 當主應用程序升級或改版時保存快照。
  • 在指定時間審查和/或報告數據。
  • 按照規定捕獲月度數據
  • 生成日終/月末/季末報告
  • 應用測試
  • 通過快照模擬生產環境下結構或應用發生的變化,測試完成即可丟棄。例如:生成快照,利用快照中內容構建新表(原有結構+數據)并且修改新表的結構,添加或刪除列之類。(原始表、快照和新表保持相互獨立)
  • 減少工作壓力
  • 生成快照,導入到其他集群,然后運行MapReduce jobs。因為導出的快照是HDFS級別,所以不會像復制表那樣降低HBase主集群的效率。

快照是什么?

快照就是一份元信息的合集,允許管理員恢復到表的先前狀態。快照不是表的復制而是一個文件名稱列表,因而不會復制數據。完全快照恢復是指恢復到之前的“表結構”以及當時的數據,快照之后發生的數據不會恢復。

操作

  • 生成快照:本操作嘗試對指定表生成快照。如果集群在執行數據均衡、分隔或合并等操作時,可能會引起操作失敗。
  • 克隆快照:本操作使用與指定快照相同的結構數據構建一張新表。操作結果會生成一張有完整功能的表,對該表的任意修改不會對原表或快照產生影響。
  • 還原快照:本操作將表結構和數據恢復到生成快照時的狀態。(注意:本操作會舍棄快照生成后任何改變)。
  • 刪除快照:本操作將系統中的快照刪除,釋放未共享的磁盤空間,而且不會影響其他克隆或快照。
  • 導出快照:本操作將快照數據和元數據復制到其他集群。操作只會涉及HDFS,不會與Master或域服務器產生任何聯系,因此HBase集群可以關閉。

零復制快照,恢復,克隆

快照和復制/導出表之間的主要差異是快照操作只寫入元數據,不涉及海量數據。

HBase的主要設計原則之一就是一旦文件寫入就不再修改。文件不可變意味著快照只需保持對快照產生時存在的文件追蹤,并且在壓縮時負責提示系統該文件不應刪除而是應當歸檔保存。

同樣的原則也適用于克隆和恢復操作。因為文件是不變的,新建一個表只需要通過快照“鏈接”到文件引用即可。

導出快照是唯一需要復制數據的操作,因為其他集群沒有數據文件。

導出快照 vs 復制/導出表

導出快照與復制/導出表除了更好地保持一致性外,主要的不同在于導出快照是在HDFS的層面操作的。這意味這Master和域服務器與操作無關。因此不需要為不必要的數據創建緩存空間,也不會有掃描過程因為大量對象創建引起的GC暫停。對于HBase來說主要性能影響就是DataNode額外的網絡和磁盤負載。

HBase命令:快照操作

通過檢查hbase-site.xml中的hbase.snapshot.enabled是否設置為true確認打開了快照許可。獲取指定表的快照使用snapshot命令(不產生文件復制)

1 hbase> snapshot ‘tableName’, ‘snapshotName’

列出所有的快照,使用 list_snapshot 命令。會展示出快照名稱,源表,以及創建日期和時間

1 2 3 hbase> list_snapshots SNAPSHOT?????????????? TABLE + CREATION TIME ?TestSnapshot????????? TestTable (Mon Feb 25 21:13:49 +0000 2013)

刪除快照使用 deleted_snapshot 命令。刪除快照不會影響到克隆表或者之后生成的快照。

1 hbase> delete_snapshot ‘snapshotName’

使用clone_snapshot命令從指定的快照生成新表(克隆)。由于不會產生數據復制,所以最終用到的數據不會是之前的兩倍。

1 hbase> clone_snapshot ‘snapshotName’, ‘newTableName’

使用restore_snapshot命令將指定快照內容替換當前表結構/數據。

1 hbase> restore_snapshot ‘snapshotName’

使用ExportSnapshot工具將現有快照導出至其他集群。導出工具不會影響到域服務器負載,只是工作在HDFS層面所以需要指定HDFS路徑(其他集群的hbase根目錄)

1 2 3 hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot SnapshotName -copy-to hdfs:///srv2:8082/hbase

目前的限制

快照需要依賴一些條件,目前有一些工具還沒有很好的整合新特性:

  • 合并引用快照的集群會引起快照和克隆表的數據丟失。
  • 當復制開啟時還原一個表,會造成兩個集群不同步。表不會在復制集上還原。

結論

當前快照包含了所有的基礎功能特性,但是還是有很多工作要做,包括監測、頁面UI集成、磁盤空間優化等等。

了解更多如何使用HBase和快照,請參考文檔。

原文鏈接:? Cloudera ?翻譯:? ImportNew.com? -? 陳 晨
譯文鏈接:? http://www.importnew.com/4966.html
[? 轉載請保留原文出處、譯者和譯文鏈接。 ]

總結

以上是生活随笔為你收集整理的Apache HBase快照介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。