您好,登錄后才能下訂單哦!
使用hdfs是一項最常見的hadoop集群管理工作,雖然可以通過多種方式訪問HDFS,但命令行是管理HDFS存儲的最常用的方法。例如webHDFS、使用HttpFS網關通過防火墻訪問HDFS、通過Hue的文件瀏覽器。
使用 hdfs : dfs命令來管理HDFS
語法如下:
hdfs dfs ?[GENERIC_OPTION] ?[COMMAND_OPTION]
???1、列出HDFS的文件和目錄
hdfs ?dfs ?-ls ?/ ?????查看文件/路徑的文件及目錄
?
可以在ls后面加-d列出目錄及查看目錄相關信息 ?-R ?-h ?
hdfs ?dfs ?-cat ?/path/file.txt?????查看file.txt的內容
關于hdfs dfs的更多選項可以輸入hdfs dfs -help
2、使用hdfs stat?命令獲取相關文件的詳細信息
?
%n 返回文件或者目錄名
%b 返回文件目錄的大小,byte。從上面看出目錄不占用空間,它的大小為0.
%g 返回group
%y 格式話時inode的mtime
%u 用戶
3、創建HDFS目錄
創建hdfs目錄和linux文件系統中創建目錄類似,可以使用mkdir命令創建hdfs創建
Hadfs ?dfs ?-mkdir ?/usr/hadoop/dir1???必須/usr/hadoop路徑存在才能創建
如果要沿路徑創建父目錄,指定-p參數
?
4、刪除HDFS文件和目錄
?
???刪除hdfs文件和目錄的命令類似于linux文件系統中的命令。使用-r|R選項遞歸方式刪除目錄及該目錄下的所有內容。
-skipTrash 選項是繞過hdfs回收站立即刪除指定文件及目錄
hdfs ?dfs ?-rm -R /usr/hadoop/dir/????刪除dir目錄及dir目錄下的文件及目錄
5、更改文件目錄所有權和組
可以使用-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命令
?
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。