1. 集羣間拷貝
1.scp實現兩個遠程主機之間的文件複製
scp -r hello.txt root@hadoop103:/user/hadoop/hello.txt // 推 push
scp -r root@hadoop103:/user/hadoop/hello.txt hello.txt // 拉 pull
scp -r root@hadoop103:/user/hadoop/hello.txt root@hadoop104:/user/hadoop //是通過本地主機中轉實現兩個遠程主機的文件複製;如果在兩個遠程主機之間ssh沒有配置的情況下可以使用該方式。
2.採用distcp命令實現兩個Hadoop集羣之間的遞歸數據複製
[hadoop@hadoop102 hadoop-2.7.2]$ bin/hadoop distcp hdfs://haoop102:9000/user/hadoop/hello.txt hdfs://hadoop103:9000/user/hadoop/hello.txt
2. 小文檔存儲
實例:
(1)需要啓動YARN進程
[hadoop@hadoop102 hadoop-2.7.2]$ start-yarn.sh
(2)歸檔文件
把/user/hadoop/input目錄裏面的所有文件歸檔成一個叫input.har的歸檔文件,並把歸檔後文件存儲到/user/hadoop/output路徑下。
[hadoop@hadoop102 hadoop-2.7.2]$ bin/hadoop archive -archiveName input.har –p /user/hadoop/input /user/hadoop/output
(3)查看歸檔
[hadoop@hadoop102 hadoop-2.7.2]$ hadoop fs -lsr /user/hadoop/output/input.har
[hadoop@hadoop102 hadoop-2.7.2]$ hadoop fs -lsr har:///user/hadoop/output/input.har
(4)解歸檔文件
[hadoop@hadoop102 hadoop-2.7.2]$ hadoop fs -cp har:/// user/hadoop/output/input.har/* /user/hadoop
3. 回收站
開啓回收站功能,可以將刪除的文件在不超時的情況下,恢復原數據,起到防止誤刪除、備份等作用。
2)啓用回收站
修改core-site.xml,配置垃圾回收時間爲1分鐘。
<property>
<name>fs.trash.interval</name>
<value>1</value>
</property>
3)查看回收站
回收站在集羣中的路徑:/user/hdfs/.Trash/….
4)修改訪問垃圾回收站用戶名稱
進入垃圾回收站用戶名稱,默認是dr.who,修改爲hadoop用戶
[core-site.xml]
<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value>
</property>
5)通過程序刪除的文件不會經過回收站,需要調用moveToTrash()才進入回收站
Trash trash = New Trash(conf);
trash.moveToTrash(path);
6)恢復回收站數據
[hadoop@hadoop102 hadoop-2.7.2]$ hadoop fs -mv
/user/hadoop/.Trash/Current/user/hadoop/input /user/hadoop/input
7)清空回收站
[hadoop@hadoop102 hadoop-2.7.2]$ hadoop fs -expunge