本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
hdfs命令是什么?
(相關資料圖)
指Hadoop hdfs系統(tǒng)的命令。
操作hdfs系統(tǒng)可以使用hadoop fs 也可以使用 hdfs dfs ,兩者效果一樣。(hadoop dfs命令已不再建議使用)
Hadoop hdfs系統(tǒng)的一些常用命令
一、hadoop fs (hdfs dfs) 文件操作
ls 顯示目錄下的所有文件或者文件夾
使用方法: hadoop fs -ls [uri形式目錄]
示例: hadoop fs –ls / 顯示根目錄下的所有文件和目錄
顯示目錄下的所有文件可以加 -R 選項
示例: hadoop fs -ls -R /
cat 查看文件內(nèi)容
使用方法:hadoop fs -cat URI [URI …]
示例: hadoop fs -cat /in/test2.txt
mkdir 創(chuàng)建目錄
使用方法:hadoop fs -mkdir [uri形式目錄]
示例: hadoop fs –mkdir /test
創(chuàng)建多級目錄 加上 –p
示例: hadoop fs –mkdir -p /a/b/c
rm 刪除目錄或者文件
使用方法:hadoop fs -rm [文件路徑] 刪除文件夾加上 -r
示例: hadoop fs -rm /test1.txt
刪除文件夾加上 -r,
示例:hadoop fs -rm -r /test
put 復制文件
將文件復制到hdfs系統(tǒng)中,也可以是從標準輸入中讀取文件,此時的dst是一個文件
使用方法: hadoop fs -put <localsrc> ... <dst>
示例:
Hadoop fs -put /usr/wisedu/temp/test1.txt /
從標準輸入中讀取文件:hadoop fs -put -/in/myword
cp 復制系統(tǒng)內(nèi)文件
使用方法:hadoopfs -cp URI [URI …] <dest>
將文件從源路徑復制到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。
示例:
hadoop fs -cp /in/myword/word
copyFromLocal 復制本地文件到hdfs
使用方法:hadoop fs-copyFromLocal <localsrc> URI
除了限定源路徑是一個本地文件外,和put命令相似
get 復制文件到本地系統(tǒng)
使用方法:hadoop fs -get[-ignorecrc] [-crc] <src> <localdst>
復制文件到本地文件系統(tǒng)??捎?ignorecrc選項復制CRC校驗失敗的文件。使用-crc選項復制文件以及CRC信息。
示例:hadoop fs -get/word /usr/wisedu/temp/word.txt
copyToLocal 復制 文件到本地系統(tǒng)
使用方法:hadoop fs-copyToLocal [-ignorecrc] [-crc] URI <localdst>
除了限定目標路徑是一個本地文件外,和get命令類似。
示例:hadoop fs - copyToLocal/word /usr/wisedu/temp/word.txt
mv
將文件從源路徑移動到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。不允許在不同的文件系統(tǒng)間移動文件。
使用方法:hadoop fs -mv URI [URI …] <dest>
示例:hadoop fs -mv /in/test2.txt /test2.txt
du 顯示文件大小
顯示目錄中所有文件的大小。
使用方法:hadoop fs -du URI [URI …]
示例: hadoop fs -du /
顯示當前目錄或者文件夾的大小可加選項 -s
示例: hadoop fs -du -s /
touchz 創(chuàng)建空文件
使用方法:hadoop fs -touchz URI [URI …]
創(chuàng)建一個0字節(jié)的空文件
示例:hadoop fs -touchz /empty.txt
chmod 改變文件權限
使用方法:hadoop fs -chmod[-R] <MODE[,MODE]... | OCTALMODE> URI [URI …]
與Linux平臺下chmod命令相似,改變文件的權限。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是文件的所有者或者超級用戶。
示例:先創(chuàng)建一個普通用戶test:sudo useradd -m test
再用wisedu用戶在hdfs系統(tǒng)目錄/a下創(chuàng)建hello.txt文件,此時test具有讀取/a/hello.txt文件的權限,如下圖:
在切換回wisedu用戶修改文件的權限,讓/a目錄下的文件對于其他用戶都不可讀,命令: hadoop fs -chmod -R o-r /a 如下圖所示,再切換回test用戶查看/a/hello.txt文件時提示沒有權限:
chown 改變文件所有者
使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI]
改變文件的擁有者。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是超級用戶。
示例:hadoop fs -chown -R test /a 如下圖:
chgrp 改變文件所在組
使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]
改變文件所屬的組。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是文件的所有者或者超級用戶。
示例:hadoop fs -chgrp -R test /a 如下圖:
二、hdfs dfsadmin 管理命令
1) -report
查看文件系統(tǒng)的基本信息和統(tǒng)計信息。
示例:hdfs dfsadmin -report
2) -safemode
enter | leave | get | wait:安全模式命令。安全模式是NameNode的一種狀態(tài),在這種狀態(tài)下,NameNode不接受對名字空間的更改(只讀);不復制或刪除塊。NameNode在啟動時自動進入安全模式,當配置塊的最小百分數(shù)滿足最小副本數(shù)的條件時,會自動離開安全模式。enter是進入,leave是離開。
示例:hdfs dfsadmin -safemode get
hdfsdfsadmin -safemode enter
3) -refreshNodes
重新讀取hosts和exclude文件,使新的節(jié)點或需要退出集群的節(jié)點能夠被NameNode重新識別。這個命令在新增節(jié)點或注銷節(jié)點時用到。
示例:hdfs dfsadmin -refreshNodes
4) -finalizeUpgrade
終結HDFS的升級操作。DataNode刪除前一個版本的工作目錄,之后NameNode也這樣做。
5) -upgradeProgress
status| details | force:請求當前系統(tǒng)的升級狀態(tài) | 升級狀態(tài)的細節(jié)| 強制升級操作
6) -metasave filename
保存NameNode的主要數(shù)據(jù)結構到hadoop.log.dir屬性指定的目錄下的<filename>文件中。
7) -setQuota<quota><dirname>……<dirname>
為每個目錄<dirname>設定配額<quota>。目錄配額是一個長整形整數(shù),強制設定目錄樹下的名字個數(shù)。
8) -clrQuota<dirname>……<dirname>
為每個目錄<dirname>清除配額設定。
9) -help
顯示幫助信息
更多相關知識,請訪問常見問題欄目!
以上就是hdfs命令是什么的詳細內(nèi)容,更多請關注php中文網(wǎng)其它相關文章!
關鍵詞: