Hadoop 2.1.0 beta 發布,HDFS提供SnapShot模塊

jopen 11年前發布 | 9K 次閱讀 Hadoop

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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!