hadoop hdfs 命令使用

概述

 本文檔介紹Hadoop hdfs系統的一些經常使用命令。html

 操做hdfs系統能夠使用hadoop fs 也能夠使用 hdfs dfs ,二者效果同樣。(hadoop dfs命令已再也不建議使用)shell

 

參考: http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.htmlapache

 

經常使用命令

1、     hadoop fs (hdfs dfs)  文件操做

1)    ls 顯示目錄下的全部文件或者文件夾

使用方法: hadoop fs -ls [uri形式目錄]安全

示例: hadoop fs –ls /    顯示根目錄下的全部文件和目錄數據結構

 

顯示目錄下的全部文件能夠加 -R 選項oop

示例: hadoop fs -ls -R /spa

 

2)    cat 查看文件內容

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

示例: hadoop fs -cat /in/test2.txt遞歸

 

3)    mkdir 建立目錄

使用方法:hadoop fs -mkdir [uri形式目錄] hadoop

示例: hadoop fs –mkdir /test

 

建立多級目錄 加上 –p 

示例: hadoop fs –mkdir -p /a/b/c

 

4)    rm 刪除目錄或者文件

使用方法:hadoop fs -rm [文件路徑]   刪除文件夾加上 -r

示例: hadoop fs -rm /test1.txt

 

 

刪除文件夾加上 -r,

示例:hadoop fs -rm -r /test

 

 

 

5)    put 複製文件

將文件複製到hdfs系統中,也能夠是從標準輸入中讀取文件,此時的dst是一個文件

    使用方法: hadoop fs -put <localsrc> ... <dst>

示例:

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

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

 

6)    cp 複製系統內文件

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

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

hadoop fs -cp /in/myword/word

 

 

7)    copyFromLocal 複製本地文件到hdfs

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

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

8)    get 複製文件到本地系統

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

複製文件到本地文件系統。可用-ignorecrc選項複製CRC校驗失敗的文件。使用-crc選項複製文件以及CRC信息。

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

 

9)    copyToLocal 複製 文件到本地系統

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

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

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

10)           mv

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

使用方法:hadoop fs -mv URI [URI …] <dest>

示例:hadoop fs -mv /in/test2.txt /test2.txt

 

 

11)           du 顯示文件大小

顯示目錄中全部文件的大小。

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

示例: hadoop fs -du /

 

       顯示當前目錄或者文件夾的大小可加選項 -s

        示例: hadoop fs -du -s /

 

 

12)           touchz  建立空文件

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

建立一個0字節的空文件

示例:hadoop fs -touchz /empty.txt

 

13)           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文件時提示沒有權限:

 

 

14)           chown 改變文件全部者

使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI]

改變文件的擁有者。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是超級用戶。

示例:hadoop fs -chown -R test /a  以下圖:

 

 

15)           chgrp 改變文件所在組

使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]

改變文件所屬的組。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是文件的全部者或者超級用戶。

示例:hadoop fs -chgrp -R test /a  以下圖:

 

2、     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

    顯示幫助信息

相關文章
相關標籤/搜索