使用hdfs是一項最多見的hadoop集羣管理工做,雖然能夠經過多種方式訪問HDFS,但命令行是管理HDFS存儲的最經常使用的方法。例如webHDFS、使用HttpFS網關經過防火牆訪問HDFS、經過Hue的文件瀏覽器。node
使用 hdfs : dfs命令來管理HDFSlinux
語法以下:web
hdfs dfs [GENERIC_OPTION] [COMMAND_OPTION]瀏覽器
1、列出HDFS的文件和目錄ide
hdfs dfs -ls / 查看文件/路徑的文件及目錄oop
能夠在ls後面加-d列出目錄及查看目錄相關信息 -R -h spa
hdfs dfs -cat /path/file.txt 查看file.txt的內容操作系統
關於hdfs dfs的更多選項能夠輸入hdfs dfs -help 命令行
二、使用hdfs stat 命令獲取相關文件的詳細信息3d
%n 返回文件或者目錄名
%b 返回文件目錄的大小,byte。從上面看出目錄不佔用空間,它的大小爲0.
%g 返回group
%y 格式話時inode的mtime
%u 用戶
三、建立HDFS目錄
建立hdfs目錄和linux文件系統中建立目錄相似,可使用mkdir命令建立hdfs建立
Hadfs dfs -mkdir /usr/hadoop/dir1 必須/usr/hadoop路徑存在才能建立
若是要沿路徑建立父目錄,指定-p參數
四、刪除HDFS文件和目錄
刪除hdfs文件和目錄的命令相似於linux文件系統中的命令。使用-r|R選項遞歸方式刪除目錄及該目錄下的全部內容。
-skipTrash 選項是繞過hdfs回收站當即刪除指定文件及目錄
hdfs dfs -rm -R /usr/hadoop/dir/ 刪除dir目錄及dir目錄下的文件及目錄
五、更改文件目錄全部權和組
可使用-chown命令更改素有者和組名稱
$hdfs dfs -chown sam:produser /usr/data/name.txt
使用chgrp命令僅更改用戶的組
$hdfs dfs -chgrp supergroup /data/sales/makrer.txt
更改hdfs文件權限
可使用chmod命令更改文件或目錄的權限hadoop使用標準的linux文件權限。
$hdfs dfs -chmod -R /data/meta.txt
只有超級用戶或文件及目錄的全部者才能更改權限,使用chgrp、chmod和chown命令並指定-R選項能夠對指定目錄進行遞歸更改
6、使用dfsadmin使用程序執行HDFS操做
使用dfsadmin命令從命令行管理HDFS,雖然hdfs dfs命令能夠管理HDFS文件和目錄,但dfsadmin命令能夠執行HDFS特定的管理任務。
dfsadmin -report命令可以顯示集羣的基本統計信息,包括DataNode和NaneNode的狀態、配置的磁盤容量和數據塊的運行情況等有用的信息。
dfsadmin -report命令顯示整個集羣的HDFS信息,以及集羣中每一個節點的HDFS詳細信息。DFS命令顯示集羣各個dataNode級的如下信息。
hdfsadmin -report命令能夠檢查HDFS數據的平衡性,以及HDFS損壞狀況。
Dfsadmin -refreshNodes命令用於更新鏈接到NameNode的DataNode列表。Namenode從dfs.hosts指向文件和hdfs-site.xml中的dfs.hosts.ex-clude配置參數讀取DataNode的主機名。Dfs.hosts文件列出了容許註冊到namenodede 全部主機。dfs.hosts.exclude文件列出了全部須要停用的datanode
dfsadmin -metasave命令提供的信息比dfsadmin -report命令提供的更多。
文件保存在/hadoop/log/下,能夠find命令在本機查找
HDFS用戶和超級用戶
在hadoop中建立用戶是一種誤稱,由於在HDFS中沒有辦法像linux系統中同樣建立用戶身份,在默認的身份驗證模式,hadoop依賴底層操做系統來肯定客戶端身份,若是設置了kerbers系統測kerberos肯定客戶端的身份。
因爲hadoop中沒有用戶什麼的概念,故hadoop沒有固定的超級用戶。Hadoop的系統超級用戶只是啓動NameNode的操做系統用戶。Hdfs的超級用戶沒必要是namenode主機的root用戶。能夠將一組用戶分配給單獨的超級用戶組。
管理HDFS磁盤使用狀況
可使用df命令查找可用過的空間
$hdfs dfs -df -h
hdfs dfs -du -s -h 獲取已用空間的總和
檢查當前空間的配額
使用dfs -count -q命令