本文檔介紹Hadoop hdfs系統的一些經常使用命令。html
操做hdfs系統能夠使用hadoop fs 也能夠使用 hdfs dfs ,二者效果同樣。(hadoop dfs命令已再也不建議使用)shell
參考: http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.htmlapache
使用方法: hadoop fs -ls [uri形式目錄]安全
示例: hadoop fs –ls / 顯示根目錄下的全部文件和目錄數據結構
顯示目錄下的全部文件能夠加 -R 選項oop
示例: hadoop fs -ls -R /spa
使用方法:hadoop fs -cat URI [URI …]htm
示例: hadoop fs -cat /in/test2.txt遞歸
使用方法:hadoop fs -mkdir [uri形式目錄] hadoop
示例: hadoop fs –mkdir /test
建立多級目錄 加上 –p
示例: hadoop fs –mkdir -p /a/b/c
使用方法:hadoop fs -rm [文件路徑] 刪除文件夾加上 -r
示例: hadoop fs -rm /test1.txt
刪除文件夾加上 -r,
示例:hadoop fs -rm -r /test
將文件複製到hdfs系統中,也能夠是從標準輸入中讀取文件,此時的dst是一個文件
使用方法: hadoop fs -put <localsrc> ... <dst>
示例:
Hadoop fs -put /usr/wisedu/temp/test1.txt /
從標準輸入中讀取文件:hadoop fs -put -/in/myword
使用方法:hadoopfs -cp URI [URI …] <dest>
將文件從源路徑複製到目標路徑。這個命令容許有多個源路徑,此時目標路徑必須是一個目錄。
示例:
hadoop fs -cp /in/myword/word
使用方法:hadoop fs-copyFromLocal <localsrc> URI
除了限定源路徑是一個本地文件外,和put命令類似
使用方法:hadoop fs -get[-ignorecrc] [-crc] <src> <localdst>
複製文件到本地文件系統。可用-ignorecrc選項複製CRC校驗失敗的文件。使用-crc選項複製文件以及CRC信息。
示例:hadoop fs -get/word /usr/wisedu/temp/word.txt
使用方法:hadoop fs-copyToLocal [-ignorecrc] [-crc] URI <localdst>
除了限定目標路徑是一個本地文件外,和get命令相似。
示例:hadoop fs - copyToLocal/word /usr/wisedu/temp/word.txt
將文件從源路徑移動到目標路徑。這個命令容許有多個源路徑,此時目標路徑必須是一個目錄。不容許在不一樣的文件系統間移動文件。
使用方法:hadoop fs -mv URI [URI …] <dest>
示例:hadoop fs -mv /in/test2.txt /test2.txt
顯示目錄中全部文件的大小。
使用方法:hadoop fs -du URI [URI …]
示例: hadoop fs -du /
顯示當前目錄或者文件夾的大小可加選項 -s
示例: hadoop fs -du -s /
使用方法:hadoop fs -touchz URI [URI …]
建立一個0字節的空文件
示例:hadoop fs -touchz /empty.txt
使用方法:hadoop fs -chmod[-R] <MODE[,MODE]... | OCTALMODE> URI [URI …]
與Linux平臺下chmod命令類似,改變文件的權限。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是文件的全部者或者超級用戶。
示例:先建立一個普通用戶test:sudo useradd -m test
再用wisedu用戶在hdfs系統目錄/a下建立hello.txt文件,此時test具備讀取/a/hello.txt文件的權限,以下圖:
在切換回wisedu用戶修改文件的權限,讓/a目錄下的文件對於其餘用戶都不可讀,命令: hadoop fs -chmod -R o-r /a 以下圖所示,再切換回test用戶查看/a/hello.txt文件時提示沒有權限:
使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI]
改變文件的擁有者。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是超級用戶。
示例:hadoop fs -chown -R test /a 以下圖:
使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]
改變文件所屬的組。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是文件的全部者或者超級用戶。
示例:hadoop fs -chgrp -R test /a 以下圖:
查看文件系統的基本信息和統計信息。
示例:hdfs dfsadmin -report
enter | leave | get | wait:安全模式命令。安全模式是NameNode的一種狀態,在這種狀態下,NameNode不接受對名字空間的更改(只讀);不復制或刪除塊。NameNode在啓動時自動進入安全模式,當配置塊的最小百分數知足最小副本數的條件時,會自動離開安全模式。enter是進入,leave是離開。
示例:hdfs dfsadmin -safemode get
hdfsdfsadmin -safemode enter
從新讀取hosts和exclude文件,使新的節點或須要退出集羣的節點可以被NameNode從新識別。這個命令在新增節點或註銷節點時用到。
示例:hdfs dfsadmin -refreshNodes
終結HDFS的升級操做。DataNode刪除前一個版本的工做目錄,以後NameNode也這樣作。
status| details | force:請求當前系統的升級狀態 | 升級狀態的細節| 強制升級操做
保存NameNode的主要數據結構到hadoop.log.dir屬性指定的目錄下的<filename>文件中。
爲每一個目錄<dirname>設定配額<quota>。目錄配額是一個長整形整數,強制設定目錄樹下的名字個數。
爲每一個目錄<dirname>清除配額設定。
顯示幫助信息