HDFS命令及管理HDFS

使用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

圖片7.png 

能夠在ls後面加-d列出目錄及查看目錄相關信息  -R  -h  spa

hdfs  dfs  -cat  /path/file.txt     查看file.txt的內容操作系統

關於hdfs dfs的更多選項能夠輸入hdfs dfs -help 命令行

二、使用hdfs stat 命令獲取相關文件的詳細信息3d

圖片8.png 

%n 返回文件或者目錄名

%b 返回文件目錄的大小,byte。從上面看出目錄不佔用空間,它的大小爲0.

%g 返回group

%y 格式話時inodemtime

%u 用戶

三、建立HDFS目錄

建立hdfs目錄和linux文件系統中建立目錄相似,可使用mkdir命令建立hdfs建立

Hadfs  dfs  -mkdir  /usr/hadoop/dir1   必須/usr/hadoop路徑存在才能建立

若是要沿路徑建立父目錄,指定-p參數

圖片9.png 

四、刪除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     

只有超級用戶或文件及目錄的全部者才能更改權限,使用chgrpchmodchown命令並指定-R選項能夠對指定目錄進行遞歸更改

6、使用dfsadmin使用程序執行HDFS操做

使用dfsadmin命令從命令行管理HDFS,雖然hdfs dfs命令能夠管理HDFS文件和目錄,但dfsadmin命令能夠執行HDFS特定的管理任務。

dfsadmin -report命令可以顯示集羣的基本統計信息,包括DataNodeNaneNode的狀態、配置的磁盤容量和數據塊的運行情況等有用的信息。

圖片10.png 

dfsadmin -report命令顯示整個集羣的HDFS信息,以及集羣中每一個節點的HDFS詳細信息。DFS命令顯示集羣各個dataNode級的如下信息。

hdfsadmin -report命令能夠檢查HDFS數據的平衡性,以及HDFS損壞狀況。

Dfsadmin -refreshNodes命令用於更新鏈接到NameNodeDataNode列表。Namenodedfs.hosts指向文件和hdfs-site.xml中的dfs.hosts.ex-clude配置參數讀取DataNode的主機名。Dfs.hosts文件列出了容許註冊到namenodede 全部主機。dfs.hosts.exclude文件列出了全部須要停用的datanode

圖片11.png 

dfsadmin -metasave命令提供的信息比dfsadmin -report命令提供的更多。

文件保存在/hadoop/log/下,能夠find命令在本機查找

圖片12.png 

HDFS用戶和超級用戶

     hadoop中建立用戶是一種誤稱,由於在HDFS中沒有辦法像linux系統中同樣建立用戶身份,在默認的身份驗證模式,hadoop依賴底層操做系統來肯定客戶端身份,若是設置了kerbers系統測kerberos肯定客戶端的身份。

因爲hadoop中沒有用戶什麼的概念,故hadoop沒有固定的超級用戶。Hadoop的系統超級用戶只是啓動NameNode的操做系統用戶。Hdfs的超級用戶沒必要是namenode主機的root用戶。能夠將一組用戶分配給單獨的超級用戶組。

管理HDFS磁盤使用狀況

     可使用df命令查找可用過的空間

     $hdfs dfs -df -h

圖片13.png 

hdfs dfs -du -s -h 獲取已用空間的總和

檢查當前空間的配額

   使用dfs -count -q命令

圖片14.png

spacer.gif

相關文章
相關標籤/搜索