hdfs指令係指Hadoop hdfs系統的指令,其常用指令包括:1、ls指令;2、cat指令;3、mkdir指令;4、rm指令;5、put指令;6、cp指令;7、copyFromLocal命令;8、get命令;9、copyToLocal命令;10、mv命令等。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
hdfs指令是什麼?
指Hadoop hdfs系統的指令。
操作hdfs系統可以使用hadoop fs 也可以使用 hdfs dfs ,兩者效果一樣。 (hadoop dfs指令已不再建議使用)
Hadoop hdfs系統的一些常用指令
一、hadoop fs (hdfs dfs) 檔案操作
#ls 顯示目錄下的所有檔案或資料夾
使用方法:hadoop fs -ls [uri形式目錄]
範例: hadoop fs –ls / 顯示根目錄下的所有檔案和目錄
顯示目錄下的所有檔案可以加上-R 選項
範例: hadoop fs -ls -R /
cat 檢視檔案內容
使用方法:hadoop fs -cat URI [URI …]
範例:hadoop fs -cat /in/ test2.txt
mkdir 建立目錄
使用方法:hadoop fs -mkdir [uri形式目錄]
#範例: hadoop fs –mkdir /test
建立多層目錄加上–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系統中,也可以是從標準輸入讀取文件,此時的dst是一個檔案
使用方法: hadoop fs -put
範例:
Hadoop fs -put /usr/wisedu/ temp/test1.txt /
從標準輸入讀取檔案:hadoop fs -put -/in/myword
cp 複製系統內檔案
使用方法:hadoopfs -cp URI [URI …]
將檔案從來源路徑複製到目標路徑。這個指令允許有多個來源路徑,此時目標路徑必須是一個目錄。
範例:
hadoop fs -cp /in/myword/word
copyFromLocal 複製本機檔案到hdfs
使用方法:hadoop fs -copyFromLocal
除了限定來源路徑是一個本地檔案外,和put指令相似
##範例: hadoop fs -du /
顯示目前目錄或資料夾的大小可加選項-s
範例: hadoop fs -du -s /
建立一個0位元組的空白檔案
範例:hadoop fs -touchz /empty.txt
與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檔案時提示沒有權限:
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
查看檔案系統的基本資訊和統計資料。
範例:hdfs dfsadmin -report
2) -safemode
enter | leave | get | wait:安全模式指令。安全模式是NameNode的一種狀態,在這種狀態下,NameNode不接受名字空間的變更(唯讀);不複製或刪除區塊。 NameNode在啟動時自動進入安全模式,當配置區塊的最小百分數滿足最小副本數的條件時,會自動離開安全模式。 enter是進入,leave是離開。
範例:hdfs dfsadmin -safemode get
hdfsdfsadmin -safemode enter
3) -refreshNodes
重新讀取hosts和exclude文件,使新的節點或需要退出叢集的節點能夠被NameNode重新識別。這個指令在新增節點或登出節點時用到。
範例:hdfs dfsadmin -refreshNodes
4) -finalizeUpgrade
結束HDFS的升級作業。 DataNode刪除前一個版本的工作目錄,之後NameNode也這樣做。
5) -upgradeProgress
status| details | force:請求目前系統的升級狀態| 升級狀態的細節| 強制升級操作
6) -metasave filename
將NameNode的主要資料結構保存到hadoop.log.dir屬性指定的目錄下的
7) -setQuota
為每個目錄
8) -clrQuota
為每個目錄
9) -help
顯示說明資訊
#更多相關知識,請造訪常見問題欄位!
以上是hdfs命令是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!