大數據框架hadoop的文件系統(HDFS)命令大全

    HDFS(Hadoop Distributed File System)Hadoop應用用到的一個最主要的分佈式存儲系統。一個HDFS集羣主要由一個NameNode和多個Datanode組成:Namenode管理文件系統的元數據,而Datanode存儲了實際的數據。基本上,客戶端是通過聯繫Namenode以獲取文件的元數據或修飾屬性,而真正的文件I/O操作是Namenode直接和Datanode進行交互的。   

    調用文件系統命令應使用bin/hadoop fs <args>的形式。所有的FS shell命令使用URI路徑作爲參數。URI格式是scheme://authority/path。對HDFS文件系統,schemehdfs,對本地文件系統,schemefile。其中schemeauthority參數都是可選的,如果未加指定,就會使用配置中指定的默認scheme(core-site.xml配置文件的fs.default.name屬性)。一個HDFS文件或目錄比如/user/myuser可以表示成hdfs://namenode:namenodeport/user/myuser,或者更簡單的/user/myuser(假設你配置文件中的默認值是namenode:namenodeport)。接下來從查詢類、新增類、刪除類及修改類四個角度來列舉HDFS命令。

1       查詢類

1.1              查看指定目錄下內容

hadoop dfs –ls /user/myuser

1.2              lsr

hadoop fs -lsr <args>

ls命令的遞歸版本。

1.3              打開某個已存在文件

hadoop fs -cat URI [URI ...]

hadoop dfs -cat /user/myuser/data.txt file:///file hdfs://host:port/user/myuser

1.4              hadoop上某個文件down至本地已有目錄下

hadoop fs –get /user/test/bqh/in.txt /home/test/

1.5              hadoop指定目錄下所有內容保存爲一個文件,同時down至本地

hadoop dfs –getmerge /user /home/t

1.6              copyToLocal

hadoop fs -copyToLocal URI <localdst>

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

1.7              du

hadoop fs -du URI [URI ...]

顯示目錄中所有文件的大小,或者當只指定一個文件時,顯示此文件的大小。

1.8              dus

hadoop fs -dus <args>

顯示文件的大小。

1.9              stat

hadoop fs -stat URI [URI ...]

返回指定路徑的統計信息。

1.10        tail

hadoop fs -tail URI

將文件尾部的內容輸出到stdout

1.11        test

hadoop fs -test -[ezd] URI

-e  檢查文件是否存在。如果存在則返回0

-z  檢查文件是否是0字節。如果是則返回0.

-d  檢查路徑是個目錄,則返回1,否則返回0.

1.12        text

hadoop fs -text <src>

將源文件輸出爲文本格式。

2       新增類

2.1              mkdir

hadoop fs -mkdir <paths>

接受路徑指定的URI作爲參數,創建這些目錄。類似於Unixmkdir -p,它會創建路徑中的各級父目錄。

2.2              將本地文件存儲至hadoop

hadoop fs –put /home/myuser/file.txt  /user/t   

2.3              將本地文件夾存儲至hadoop

hadoop fs –put /home/t/dir_name /user/t

2.4              hadoop指定目錄內創建新目錄

hadoop fs –mkdir /user/myuser/t

2.5              hadoop指定目錄下新建一個空文件

hadoop  fs  -touchz  /user/myuser/new.txt

2.6              copyFromLocal

hadoop fs -copyFromLocal <localsrc> URI除了限定資源路徑是一個本地文件外,和put命令相似。

2.7              moveFromLocal

hadoop dfs -moveFromLocal <src> <dsr>

3       刪除類

3.1              刪除hadoop上指定文件

hadoop fs –rm /user/myuser/ok.txt

hadoop fs –rmr /user/myuser/ok.txt

3.2              刪除hadoop上指定文件夾(包含子目錄等)

hadoop fs –rmr /user/myuser/t

3.3              Expunge

hadoop fs -expunge

清空回收站

4       修改類

4.1              hadoop上某個文件重命名

hadoop fs  –mv  /user/test.txt  /user/ok.txt 

4.2    改變文件必屬的組。

hadoop fs -chgrp [-R] GROUP [URI ...]

使用-R將使改變在目錄結構下遞歸進行。

4.3              改變文件的權限

hadoop fs -chmod [-R] <MODE[,MODE]> URI [URI ...]

使用-R將使改變在目錄結構下遞歸進行。

4.4              改變文件的擁有者

hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI]

使用-R將使改變在目錄結構下遞歸進行。

4.5              cp

hadoop fs -cp URI [URI ...] <dest>

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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章