hdfs命令是什麼

2023-03-14 18:00:46

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 <localsrc> ... <dst>

範例:

Hadoop fs -put /usr/wisedu/temp/test1.txt /

從標準輸入中讀取檔案:hadoop fs -put -/in/myword

  • cp 複製系統內檔案

使用方法:hadoopfs -cp URI [URI …] <dest>

將檔案從源路徑複製到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。

範例:

hadoop fs -cp /in/myword/word
登入後複製

  • copyFromLocal 複製本地檔案到hdfs

使用方法:hadoop fs-copyFromLocal <localsrc> URI

除了限定源路徑是一個本地檔案外,和put命令相似

  • get 複製檔案到本地系統

使用方法:hadoop fs -get[-ignorecrc] [-crc] <src> <localdst>

複製檔案到本地檔案系統。可用-ignorecrc選項複製CRC校驗失敗的檔案。使用-crc選項複製檔案以及CRC資訊。

範例:hadoop fs -get/word /usr/wisedu/temp/word.txt

  • copyToLocal 複製 檔案到本地系統

使用方法:hadoop fs-copyToLocal [-ignorecrc] [-crc] URI <localdst>

除了限定目標路徑是一個本地檔案外,和get命令類似。

範例:hadoop fs - copyToLocal/word /usr/wisedu/temp/word.txt

  • mv

將檔案從源路徑移動到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。不允許在不同的檔案系統間移動檔案。

使用方法: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 建立空檔案

使用方法:hadoop fs -touchz URI [URI …]

建立一個0位元組的空檔案

範例:hadoop fs -touchz /empty.txt

  • chmod 改變檔案許可權

使用方法: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檔案時提示沒有許可權:

  • 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屬性指定的目錄下的<filename>檔案中。

7) -setQuota<quota><dirname>……<dirname>

為每個目錄<dirname>設定配額<quota>。目錄配額是一個長整形整數,強制設定目錄樹下的名字個數。

8) -clrQuota<dirname>……<dirname>

為每個目錄<dirname>清除配額設定。

9) -help

顯示幫助資訊

更多相關知識,請存取欄目!

以上就是hdfs命令是什麼的詳細內容,更多請關注TW511.COM其它相關文章!