Hadoop createSnapshot和deleteSnapshot命令

来源:http://www.cnblogs.com/royfans/archive/2017/07/31/7263784.html
-Advertisement-
Play Games

概述 HDFS快照是文件系統的只讀時間點副本。 可以對文件系統的子樹或整個文件系統進行快照。 快照的一些常見用例是數據備份,防止用戶錯誤和災難恢復。HDFS快照的實現是高效的: 快照創建是即時的:成本是O(1),不包括inode查找時間。 僅當對快照進行修改時才使用附加記憶體:記憶體使用為O(M),其中 ...


概述

HDFS快照是文件系統的只讀時間點副本。 可以對文件系統的子樹或整個文件系統進行快照。 快照的一些常見用例是數據備份,防止用戶錯誤和災難恢復。
HDFS快照的實現是高效的:

快照創建是即時的:成本是O(1),不包括inode查找時間。
僅當對快照進行修改時才使用附加記憶體:記憶體使用為O(M),其中M是修改的文件/目錄的數量。
不複製datanode中的塊:快照文件記錄塊列表和文件大小。 沒有數據複製。
快照不會對常規HDFS操作產生負面影響:修改會按相反的時間順序記錄,以便可以直接訪問當前數據。 通過從當前數據中減去修改來計算快照數據。

Snapshottable目錄

一旦目錄設置為可快照,就可以對任何目錄進行快照。 snaphottable目錄能夠容納65,536個同步快照。可快照目錄的數量沒有限制。 管理員可以將任何目錄設置為可快照。如果快照目錄中有快照,則在刪除所有快照之前,不能刪除或重命名目錄。
當前不允許嵌套snaphottable目錄。 換句話說,如果一個目錄的祖先/後代是一個snaphottable目錄,則不能將其設置為snaphottable。
快照路徑

對於快照目錄,路徑組件“.snapshot”用於訪問其快照。 假設/ foo是snaphottable目錄,/ foo / bar是/ foo中的文件/目錄,而/ foo有一個快照s0。 然後,路徑

/foo/.snapshot/s0/bar

指的是/ foo / bar的快照副本。 通常的API和CLI可以使用“.snapshot”路徑。 以下是一些示例。
列出snaphottable目錄下的所有快照:

hdfs dfs -ls /foo/.snapshot

列出快照s0中的文件:

hdfs dfs -ls /foo/.snapshot/s0

從快照s0複製文件:

hdfs dfs -cp -ptopax /foo/.snapshot/s0/bar /tmp

請註意,此示例使用保留選項來保留時間戳,所有權,許可權,ACL和XAttrs。
使用快照升級到HDFS版本

HDFS快照功能引入了用於與快照交互的新保留路徑名:.snapshot。 從舊版本的HDFS升級時,名為.snapshot的現有路徑需要首先重命名或刪除,以避免與保留路徑衝突。 有關詳細信息,請參閱HDFS用戶指南中的升級部分。
快照操作

管理員操作

註意:本節中描述的操作需要超級用戶許可權。
允許快照

允許創建目錄的快照。 如果操作成功完成,則目錄變為可快照。
命令

hdfs dfsadmin -allowSnapshot <path>

參數

path:snaphottable目錄的路徑。

另請參閱HdfsAdmin中的相應Java API void allowSnapshot(路徑路徑)。
不可快照

不允許創建目錄的快照。 在禁用快照之前,必須刪除目錄的所有快照。
命令

hdfs dfsadmin -disallowSnapshot <path>

參數

path:snaphottable目錄的路徑。

另請參閱HdfsAdmin中的相應Java API void disallowSnapshot(路徑路徑)。

用戶操作
註意: HDFS超級用戶可以執行所有操作而不滿足各個操作中的許可權要求。
創建快照

創建快照目錄的快照。 此操作需要snaphottable目錄的所有者特權。
命令

hdfs dfs -createSnapshot <path> [<snapshotName>]

參數

path:snaphottable目錄的路徑。
snapshotName:快照名稱,它是一個可選參數。 當省略時,使用格式為“’s’yyyyMMdd-HHmmss.SSS”的時間戳生成預設名稱,例如。 “s20130412-151029.033”。

另請參見文件系統中相應的Java API路徑createSnapshot(路徑路徑)和路徑createSnapshot(路徑路徑,字元串snapshotName)。 在這些方法中返回快照路徑。
刪除快照

從快照目錄中刪除快照。 此操作需要snaphottable目錄的所有者特權。
命令

hdfs dfs -deleteSnapshot <path> <snapshotName>

參數

path:snaphottable目錄的路徑。
snapshotName:快照名。

另請參見文件系統中相應的Java API void deleteSnapshot(Path path,String snapshotName)。
重命名快照

重命名快照。 此操作需要snaphottable目錄的所有者特權。
命令

hdfs dfs -renameSnapshot <path> <oldName> <newName>

參數

path:snaphottable目錄的路徑。
oldName:原快照名稱。
newName:新快照名稱。

另請參見FileSystem中對應的Java API void renameSnapshot(Path path,String oldName,String newName)。
獲取Snapshottable目錄列表

獲取當前用戶有權拍攝快照的所有快照表目錄。
命令

hdfs lsSnapshottableDir

另請參見DistributedFileSystem中的相應Java API SnapshottableDirectoryStatus [] getSnapshottableDirectoryListing()。
獲取快照差異報告
獲取兩個快照之間的差異。 此操作需要兩個快照中的所有文件/目錄的讀訪問許可權。
命令

hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>

參數

path:snaphottable目錄的路徑。
fromSnapshot:原快照。
toSnapshot:要對比的快照。

結果

+ 文件或者目錄被創建。
– 文件或者目錄被刪除。
M 文件或者目錄已修改。
R 文件/目錄已重命名。

RENAME條目表示文件/目錄已重命名,但仍位於相同的snaphottable目錄下。 如果將文件/目錄重命名為snapshottble目錄之外,則將其報告為已刪除。 從snapshottble目錄之外重命名的文件/目錄將報告為新創建。
快照差異報告不保證相同的操作順序。 例如,如果我們將目錄“/ foo”重命名為“/ foo2”,然後將新數據附加到文件“/ foo2 / bar”,差異報告將是:

R. /foo -> /foo2
M. /foo/bar

即,使用重命名之前的原始路徑(上例中的“/ foo / bar”)報告重命名的目錄下的文件/目錄的更改。
另請參見DistributedFileSystem中的相應Java API SnapshotDiffReport getSnapshotDiffReport(Path path,String fromSnapshot,String toSnapshot)。

 

轉載:https://www.vastyun.com/note_hadoop/300.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Android系統源代碼 線上源碼網站 1,http://androidxref.com 2,http://www.grepcode.com/ 3,http://www.androidos.net.cn/ 4,http://androidsource.top/ 5,https://github.co ...
  • ANR異常 一、簡介 解決方法:別在主線程中寫非常耗時的操作 二、代碼實例 點擊之後,不停點擊,亂點 出現anr異常 代碼 /anr/src/anr/MainActivity.java 解決方法:別在主線程中寫非常耗時的操作 ...
  • 橫豎屏幕切換生命周期 一、簡介 二、代碼 /activityLifeCycle_3Screen/AndroidManifest.xml 核心代碼:android:configChanges="keyboardHidden|orientation|screenSize" com.fry.activit ...
  • 使用安卓手機真機調試 開發工具:android studio 幾個報錯點 adb找不到報錯 對於新手來說一般都是沒有安裝adb,所以這裡我們需要首先安裝adb來協助手機調試 adb是什麼?全名Andorid Debug Bridg,是一個鏈接開發和手機之間的橋,沒有它是無法通過USB在手機中調試的。 ...
  • 晚上把博客遷了個伺服器,新建用戶的時候遇到問題了。 關於mysql的問題。 前置操作 建了兩個用戶,一個laravel,一個blog用戶以及他們的同名資料庫。 建好之後,命令行下麵連接mysql服務,都能正常登錄,並且也都能連上各自的資料庫。 問題體現 之前laravel用的root賬號,這次建好l ...
  • //按照id降序 並把name是小黑的排在最後SELECT * from dms_student order by name not like '小黑' desc,id desc; //按照id降序 並把name是小黑的排在最前面 去掉desc即可SELECT * from dms_student ...
  • 轉自:http://www.maomao365.com/?p=4534 一、 parsename函數功能簡介parsename函數的主要功能是:可以快速的使用”.”關鍵字分解字元串,並返回.分解後指定部分parsename 函數語法簡介參數:參數1(待分解字元串): nvarchar(128)位字元 ...
  • 1.Oracle 11g下載 官方網址為:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 官網提供了多種系統下安裝包,不過一般大家使用的多為windows系統(其中要註意電腦系統是3 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...