告訴你怎么使用Snapshots


Snapshots用於數據備份、保護數據不被破壞

基本命令

允許這個文件路徑可以創建snapshots:
hdfs dfsadmin -allowSnapshot /user/hadoop-twq/cmd
創建snapshots
hdfs dfs -createSnapshot /user/hadoop-twq/cmd cmd-20180326-snapshot
查看snapshots
hdfs dfs -ls /user/hadoop-twq/cmd/.snapshot/cmd-20180326-snapshot
不小心往文件中寫入了錯誤數據文件:
hdfs dfs -touchz /user/hadoop-twq/cmd/test1.txt
hdfs dfs -touchz /user/hadoop-twq/cmd/test2.txt
創建snapshots:
hdfs dfs -createSnapshot /user/hadoop-twq/cmd cmd-20180327-snapshot
兩個snapshot對比:
hdfs snapshotDiff /user/hadoop-twq/cmd cmd-20180326-snapshot cmd-20180327-snapshot
恢復文件:
hdfs dfs -cp -ptopax /user/hadoop-twq/cmd/.snapshot/cmd-20180326-snapshot /user/hadoop-twq/
刪除snapshots
hdfs dfs -deleteSnapshot /user/hadoop-twq/cmd cmd-20180327-snapshot
重命名snapshots
hdfs dfs -renameSnapshot /user/hadoop-twq/cmd cmd-20180327-snapshot new_snapshot
查看所有的snapshots
hdfs lsSnapshottableDir
不允許這個path創建snapshots
hdfs dfsadmin -disallowSnapshot <path>

基本使用(流程):

master的hadoop-twq用戶下cd ~
創建data目錄:
hadoop fs -mkdir /user/hadoop-twq/data
hadoop fs -ls /user/hadoop-twq
hadoop fs -touchz /user/hadoop-twq/data/file1.txt
hadoop fs -touchz /user/hadoop-twq/data/file2.txt
hadoop fs -put word.txt test.txt /user/hadoop-twq/data
假設上面是昨天寫進去的,想要把這些數據進行備份,使用快照的方式進行備份,想要對/user/hadoop-twq/data目錄進行備份,需要允許對其創建快照。允許創建快照:
hdfs dfsadmin -allowSnapshot /user/hadoop-twq/data
對/user/hadoop-twq/data創建快照,並對快照命名:
hadoop fs -createSnapshot /user/hadoop-twq/data data-20180327-snapshots
查看快照備份的文件:
hadoop fs -ls /user/hadoop-twq/data/.snapshot/data-20180327-snapshots
通過WebUI可以查看備份情況
今天0328又往data里面寫了數據:
hadoop fs -touchz /user/hadoop-twq/data/file3.txt
hadoop fs -touchz /user/hadoop-twq/data/file4.txt
hadoop fs -put test2.txt /user/hadoop-twq/data
創建今天的快照(備份)
hadoop fs -createSnapshot /user/hadoop-twq/data data-20180328-snapshot
恢復27號的數據:
hadoop fs -cp -ptop /user/hadoop-twq/data/.snapshot/data-20180327-snapshots /user/hadoop-twq
查看恢復的數據:
hadoop fs -ls /user/hadoop-twq
hadoop fs -ls /user/hadoop-twq/data-20180327-snapshots
查看當前數據:
hadoop fs -ls /user/hadoop-twq/data
兩個快照之間進行對比:
hdfs snapshotDiff /user/hadoop-twq/data data-20180327-snapshots data-20180328-snapshot
重命名快照:
hadoop fs -renameSnapshot /user/hadoop-twq/data data-20180327-snapshots data-20180327-snapshot
刪除27號的快照:
hadoop fs -deleteSnapshot /user/hadoop-twq/data data-20180327-snapshot


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM