前言
掌握常用的hdfs檔案操作命令是考驗對hadoop集群運維的基本功,可以說是必須掌握的基礎技能,本篇將常用的hdfs檔案操作命令做一些匯總,方便日后快速查詢備用
下面以具體的命令操作演示下常用HDFS檔案操作命令的效果
環境準備
- 確認hadoop服務已經開啟可以正常使用
- 確保 9870埠的web界面可以訪問,方便查看效果
- hadoop3.X之后,不推薦 以 hadoop fs 這樣的操作命令,而是以 hdfs dfs 開頭的命令
1、創建檔案夾
hdfs dfs -mkdir 檔案夾目錄名稱 【也可以 hadoop fs -mkdir 檔案夾目錄名稱,不推薦】
hdfs dfs -mkdir /sanguo

2、上傳檔案到指定目錄【剪貼】
hdfs dfs -moveFromLocal 本地檔案存盤路徑 hdfs檔案目錄
在指定的目錄下創建一個txt檔案,比如我這里創建一個 yingxiong.txt檔案

hdfs dfs -moveFromLocal ./yingxiong.txt /sanguo
執行成功后,到web界面上可以查看下上傳的檔案


但是move的話,上傳到hdfs之后,本地的檔案就洗掉了,可以看到yingxiong.txt已經沒了
2、上傳檔案到指定目錄【復制】
與moveFromLocal 對應的檔案上傳命令,只是復制,就可以使用 copyFromLocal
hdfs dfs -copyFromLocal 本地檔案存盤路徑 hdfs檔案目錄
hdfs dfs -copyFromLocal ./zhugong.txt /sanguo

3、上傳檔案到指定目錄【復制】
與moveFromLocal 對應的檔案上傳命令類似的還有一個 put 命令,用法類似
hdfs dfs -put ./zhugong.txt /sanguo
4、檔案內容追加
追加一個檔案到已經存在的檔案末尾
hdfs dfs -appendToFile ./yingxiong1.txt /sanguo/yingxiong.txt

這時去web頁面上觀察yingxong.txt檔案內容
5、從hdfs下載檔案到本地
hdfs dfs -copyToLocal /sanguo/zhugong.txt ./

檔案下載,也可以使用get命令,生產環境更習慣用get,使用更簡單
hdfs dfs -get/sanguo/zhugong.txt ./
6、查看檔案目錄下的檔案資訊
這個和linux命令的查看目錄檔案類似
hdfs dfs -ls /sanguo

6、查看檔案內容
hdfs dfs -cat /sanguo/zhugong.txt

7、將檔案從hdfs 的一個路徑拷貝到另一個路徑
使用創建檔案命令創建二個新的檔案夾,如 /suguo /wuguo ,然后將 /sanguo/zhugong.txt分別拷貝到這兩個目錄下
hdfs dfs -cp /sanguo/zhugong.txt /suguo


8、將檔案從hdfs 的一個路徑移動到另一個路徑
hdfs dfs -mv /sanguo/yingxiong.txt /wuguo

9、顯示一個檔案的末尾1kb的資料
這個和linux下查看日志前N行內容有點類似
hdfs dfs -tail /wuguo/yingxiong.txt

10、洗掉檔案夾內的檔案
hdfs dfs -rm /wuguo/yingxiong.txt

11、遞回洗掉檔案目錄以及里面的檔案
hdfs dfs -rm -r /suguo

12、統計檔案目錄大小
使用這個命令可以計算hdfs某個檔案目錄的大小
hdfs dfs -du -h /sanguo

這個結果從web界面也能一目了然,3個副本,每個副本大小是21B,一共63B

13、設定檔案的副本數量
默認情況下,如果在組態檔中不做配置的話,副本數默認為3個,有時候并不需要那么多的時候,可以手動設定這個引數值
hdfs dfs -setrep 2 /sanguo/zhugong.txt


14、修改檔案所屬權限
和 linux 中的 -chgrp、-chmod、-chown 類似,比如給某用戶設定對檔案的操作權限為 讀寫,或者只讀
hdfs dfs -chmod 666 /sanguo/zhugong.txt
設定之前:

執行上面的命令:

再次觀察web界面:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/395068.html
標籤:其他
上一篇:hive學習-----基礎陳述句
