Hadoop 2.1.0 beta 發布,HDFS提供SnapShot模塊
Hadoop 2.1.0 Beta 版 HDFS 提供了SnapShot 模塊。用于數據備份、回滾,以防止因用戶的失誤操作導致集群出現問題。本文先做一個簡單的介紹,其他的文章在來介紹Snapshot 本身的實現機制。 HDFS Snapshot有以下幾個特性:
- Snapshot 創建的時間 復雜度為O(1),但是不包括INode 的尋找時間
- 只有當修改SnapShot時,才會有額外的內存占用,內存使用量為O(M),M 為修改的文件或者目錄數
- 在datanode 上面的blocks 不會復制,做Snapshot 的文件是紀錄了block的信息
- Snapshot 并不會影響HDFS 的正常操作
產生了以下新的概念:
- Snapshot table:Snapshots 會存儲在snapshottable的目錄下。snapshottable下存儲的snapshots 最多為65535個
- Snapshot 路徑:舉例,假設/foo 是snapshottable,/foo/bar 是文件目錄,/foo 擁有一個s0的snapshot,那么路徑會是 /foo/.snapshot/s0/bar,我們可以通過 hdfs dfs -ls /foo/.snapshot
hdfs dfs -ls /foo/.snapshot/s0
hdfs dfs -cp /foo/.snapshot/s0/bar /tmp
來操作與查看副本文件。
Snapshot 基本操作:
- 對一個路徑開啟Snapshot: hdfs dfsadmin -allowSnapshot
- 關閉 Snapsshots: hdfs dfsadmin -disallowSnapshot
- 創建Snapshosts:hdfs dfs -createSnapsshot
[snapshot names] - 刪除Snapshots:hdfs dfs -deleteSnaphost
- 修改Snapshots的名字:hdfs dfs -renameSnapshot
- 獲取Snapshot 列表:hdfs lsSnapshottableDir
- 獲取兩個Snapshot的不同:hdfs snapsshotDiff
資料來源:hadoop.apache.org
本文轉載自: http://www.iteye.com/news/28232
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!