文章目錄
- 我的 HDFS 集群設定
- HDFS 常用 Shell 命令
我的 HDFS 集群設定

HDFS 常用 Shell 命令
1. 顯示當前目錄結構
# 顯示當前目錄結構
hdfs dfs -ls <path>
# 遞回顯示當前目錄結構
hdfs dfs -ls -R <path>
# 顯示根目錄下內容
hdfs dfs -ls /
2. 創建目錄
# 創建目錄
hdfs dfs -mkdir <path>
# 遞回創建目錄
hdfs dfs -mkdir -p <path>
3. 洗掉操作
# 洗掉檔案
hdfs dfs -rm <path>
# 遞回洗掉目錄和檔案
hdfs dfs -rm -R <path>
4. 從本地加載檔案到 HDFS
# 二選一執行即可
hdfs dfs -put [localsrc] [dst]
hdfs dfs - copyFromLocal [localsrc] [dst]
5. 從 HDFS 匯出檔案到本地
# 二選一執行即可
hdfs dfs -get [dst] [localsrc]
hdfs dfs -copyToLocal [dst] [localsrc]
6. 查看檔案內容
# 二選一執行即可
hdfs dfs -text <path>
hdfs dfs -cat <path>
7. 顯示檔案的最后一千位元組
hdfs dfs -tail <path>
# 和Linux下一樣,會持續監聽檔案內容變化 并顯示檔案的最后一千位元組
hdfs dfs -tail -f <path>
8. 拷貝檔案
hdfs dfs -cp [src] [dst]
9. 移動檔案
hdfs dfs -mv [src] [dst]
10. 統計當前目錄下各檔案大小
- 默認單位位元組
- -s : 顯示所有檔案大小總和,
- -h : 將以更友好的方式顯示檔案大小(例如 64.0m 而不是 67108864)
hdfs dfs -du <path>
11. 合并下載多個檔案
- -nl 在每個檔案的末尾添加換行符(LF)
- -skip-empty-file 跳過空檔案
hdfs dfs -getmerge
# 示例 將HDFS上的hbase-policy.xml和hbase-site.xml檔案合并后下載到本地的/usr/test.xml
hdfs dfs -getmerge -nl /test/hbase-policy.xml /test/hbase-site.xml /usr/test.xml
12. 統計檔案系統的可用空間資訊
hdfs dfs -df -h /

13. 更改檔案副本數
hdfs dfs -setrep [-R] [-w] <numReplicas> <path>
- 更改檔案的復制因子,如果 path 是目錄,則更改其下所有檔案的復制因子
- -w : 請求命令是否等待復制完成
# 示例
hdfs dfs -setrep -w 3 /user/hadoop/dir1
14. 權限控制
# 權限控制和Linux上使用方式一致
# 變更檔案或目錄的所屬群組, 用戶必須是檔案的所有者或超級用戶,
hdfs dfs -chgrp [-R] GROUP URI [URI ...]
# 修改檔案或目錄的訪問權限 用戶必須是檔案的所有者或超級用戶,
hdfs dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]
# 修改檔案的擁有者 用戶必須是超級用戶,
hdfs dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
15. 檔案檢測
hdfs dfs -test - [defsz] URI
可選選項:
- -d:如果路徑是目錄,回傳 0,
- -e:如果路徑存在,則回傳 0,
- -f:如果路徑是檔案,則回傳 0,
- -s:如果路徑不為空,則回傳 0,
- -r:如果路徑存在且授予讀權限,則回傳 0,
- -w:如果路徑存在且授予寫入權限,則回傳 0,
- -z:如果檔案長度為零,則回傳 0,
# 示例
hdfs dfs -test -e filename
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301908.html
標籤:其他
上一篇:分布式檔案系統 HDFS
下一篇:資料庫的特性有哪些
