hadoop fs 常用命令(1)


Hadoop:

https://blog.csdn.net/mulangren1988/article/details/54860924

Hadoop:
1. Hadoop fs –fs [local | <file system URI>]列出在指定目錄下的文件內容,支持pattern匹配。輸出格式如filename(full path) <r n> size. 其中n代表replica的個數,size代表大小(單位bytes)。 2. hadoop fs ls <path> 遞歸列出匹配pattern的文件信息,類似ls,只不過遞歸列出所有子目錄信息。 3. hadoop fs –lsr <path>列出匹配pattern的指定的文件系統空間總量(單位bytes),等價於unix下的針對目錄的du sb <path>/*和針對文件的du b <path> ,輸出格式如name(full path) size(in bytes)4. hadoop fs –du <path> 等價於-du,輸出格式也相同,只不過等價於unix的du -sb5. hadoop fs –dus <path> 將制定格式的文件 move到指定的目標位置。當src為多個文件時,dst必須是個目錄。 6. hadoop fs –mv <src> <dst> 拷貝文件到目標位置,當src為多個文件時,dst必須是個目錄。 7. hadoop fs cp <src> <dst> 刪除匹配pattern的指定文件,等價於unix下的rm <src> 8. hadoop fs –rm [-skipTrash] <src> 遞歸刪掉所有的文件和目錄,等價於unix下的rm –rf <src> 9. hadoop fs –rmr [skipTrash] <src> 等價於unix的rm –rfi <src> 10. hadoop fs –rmi [skipTrash] <src> 從本地系統拷貝文件到DFS 11. hadoop fs put <localsrc> <dst> 等價於-put 12. hadoop fs –copyFromLocal <localsrc> <dst> 等同於-put,只不過源文件在拷貝后被刪除 13. hadoop fs –moveFromLocal <localsrc> <dst> 從DFS拷貝文件到本地文件系統,文件匹配pattern,若是多個文件,則dst必須是目錄 14. hadoop fs get [-ignoreCrc] [-crc] <src> <localdst> 顧名思義,從DFS拷貝多個文件、合並排序為一個文件到本地文件系統 15. hadoop fs –getmerge <src> <localdst> 輸出文件內容 16. hadoop fs cat <src> 等價於-get 17. hadoop fs –copyToLocal [-ignoreCrc] [-crc] <src> <localdst> 在指定位置創建目錄 18. hadoop fs mkdir <path> 設置文件的備份級別,-R標志控制是否遞歸設置子目錄及文件 19. hadoop fs –setrep [-R] [-w] <rep> <path/file> 修改文件的權限,-R標記遞歸修改。MODEa+r,g-w,+rwx等,OCTALMODE755這樣 20. hadoop fs –chmod [-R] <MODE[,MODE]…|OCTALMODE> PATH修改文件的所有者和組。-R表示遞歸 21. hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH等價於-chown … :GROUP 22. hadoop fs -chgrp [-R] GROUP PATH計數文件個數及所占空間的詳情,輸出表格的列的含義依次為:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME或者如果加了-q的話,還會列出QUOTA,REMAINING_QUOTA,SPACE_QUOTA,REMAINING_SPACE_QUOTA 23. hadoop fs count[-q] <path>

  2.1 創建目錄命令: hdfs  dfs -mkdir <paths>         [hadoop@hadoop002 hadoop]$ hdfs dfs -mkdir /20180523         [hadoop@hadoop002 hadoop]$
    2.2.列出目錄的內容命令: hdfs  dfs -ls <paths>
        [hadoop@hadoop002 hadoop]$ hdfs dfs -ls /
        Found 5 items
        drwxr-xr-x   - hadoop supergroup          0 2018-05-23 14:48 /20180523
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 13:04 /gw_test.log3
        drwxr-xr-x   - root   root                0 2018-05-23 13:16 /root
        drwx------   - hadoop supergroup          0 2018-05-22 11:23 /tmp
        drwxr-xr-x   - hadoop supergroup          0 2018-05-22 11:22 /user
        [hadoop@hadoop002 hadoop]$

    2.3  在HDFS中上傳文件: hdfs  dfs -put <local_files> ... <hdfs_path>
        [hadoop@hadoop002 hadoop]$ cd ~
        [hadoop@hadoop002 ~]$ ll
        total 4
        -rw-rw-r--. 1 hadoop hadoop  0 May 21 17:09 authorized_key
        -rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
        [hadoop@hadoop002 ~]$ hdfs dfs -put gw_test.log3  /gw_test.log4
        [hadoop@hadoop002 ~]$ hdfs dfs -ls /
        Found 6 items
        drwxr-xr-x   - hadoop supergroup          0 2018-05-23 14:48 /20180523
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 13:04 /gw_test.log3
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 14:50 /gw_test.log4
        drwxr-xr-x   - root   root                0 2018-05-23 13:16 /root
        drwx------   - hadoop supergroup          0 2018-05-22 11:23 /tmp
        drwxr-xr-x   - hadoop supergroup          0 2018-05-22 11:22 /user
      2.4 從HDFS下載文件:hdfs  dfs -get <hdfs_paths> <local_path>
        [hadoop@hadoop002 ~]$ ll
        total 4
        -rw-rw-r--. 1 hadoop hadoop  0 May 21 17:09 authorized_key
        -rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
        [hadoop@hadoop002 ~]$ hdfs dfs -get /gw_test.log4 
        [hadoop@hadoop002 ~]$ ll
        total 8
        -rw-rw-r--. 1 hadoop hadoop  0 May 21 17:09 authorized_key
        -rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
        -rw-r--r--. 1 hadoop hadoop 25 May 23 14:52 gw_test.log4
 
     2.5 查看文件內容:hdfs  dfs -cat <paths>
        [hadoop@hadoop002 ~]$ hdfs dfs -cat /gw_test.log4 
        1111
        2222
        3333
        4444
        5555
        [hadoop@hadoop002 ~]$ 
 
     2.6 復制文件命令:hdfs  dfs -cp <source_path> ... <destination_path> 
       [hadoop@hadoop002 ~]$ hdfs dfs -cp /gw_test.log3  /20180523
        [hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
        Found 1 items
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 14:55 /20180523/gw_test.log3
        [hadoop@hadoop002 ~]$
     2.7 將文件從源移動到目標命令: hdfs  dfs -mv <source_path> <destination_path>
        [hadoop@hadoop002 ~]$ hdfs dfs -ls /
        Found 6 items
        drwxr-xr-x   - hadoop supergroup          0 2018-05-23 14:55 /20180523
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 13:04 /gw_test.log3
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 14:50 /gw_test.log4
        drwxr-xr-x   - root   root                0 2018-05-23 13:16 /root
        drwx------   - hadoop supergroup          0 2018-05-22 11:23 /tmp
        drwxr-xr-x   - hadoop supergroup          0 2018-05-22 11:22 /user
        [hadoop@hadoop002 ~]$ hdfs dfs -mv  /gw_test.log4  /20180523
        [hadoop@hadoop002 ~]$ hdfs dfs -ls /
        Found 5 items
        drwxr-xr-x   - hadoop supergroup          0 2018-05-23 14:57 /20180523
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 13:04 /gw_test.log3
        drwxr-xr-x   - root   root                0 2018-05-23 13:16 /root
        drwx------   - hadoop supergroup          0 2018-05-22 11:23 /tmp
        drwxr-xr-x   - hadoop supergroup          0 2018-05-22 11:22 /user
        [hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
        Found 2 items
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 14:55 /20180523/gw_test.log3
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 14:50 /20180523/gw_test.log4
        [hadoop@hadoop002 ~]$ 
        [hadoop@hadoop002 ~]$ hdfs dfs -rm -r  /20180523
        Deleted /20180523
        [hadoop@hadoop002 ~]$ hdfs dfs -ls /
        Found 4 items
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 13:04 /gw_test.log3
        drwxr-xr-x   - root   root                0 2018-05-23 13:16 /root
        drwx------   - hadoop supergroup          0 2018-05-22 11:23 /tmp
        drwxr-xr-x   - hadoop supergroup          0 2018-05-22 11:22 /user
        [hadoop@hadoop002 ~]$
      2.8 從HDFS中刪除文件或目錄命令:
        hdfs  dfs -rm  <path>      -- 刪除文件
        hdfs  dfs -rm -r <path>    -- 刪除目錄 
        [hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
        Found 2 items
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 14:55 /20180523/gw_test.log3
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 14:50 /20180523/gw_test.log4
        [hadoop@hadoop002 ~]$ hdfs dfs -rm /20180523/gw_test.log3
        Deleted /20180523/gw_test.log3
        [hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
        Found 1 items
        -rw-r--r--   1 hadoop supergroup         25 2018-05-23 14:50 /20180523/gw_test.log4
        [hadoop@hadoop002 ~]$ 
 
     2.9 顯示文件的尾部命令:hdfs  dfs -tail <path> 
        [hadoop@hadoop002 ~]$ hdfs dfs -tail  /gw_test.log3
        1111
        2222
        3333
        4444
        5555
        [hadoop@hadoop002 ~]$
      2.10 顯示特定文件的總長度命令: hdfs  dfs -du <path>
        [hadoop@hadoop002 ~]$ hdfs dfs -du  /gw_test.log3
        25  /gw_test.log3
        [hadoop@hadoop002 ~]$ 
 
     2.11 計數目錄和文件命令: hdfs  dfs -count <path>
        [hadoop@hadoop002 ~]$ hdfs dfs -count  /gw_test.log3
                   0            1                 25 /gw_test.log3
 
     2.12 文件系統中的空間的詳細信息命名: hdfs  dfs -df <path> 
        [hadoop@hadoop002 ~]$ hdfs dfs -df /
        Filesystem                    Size    Used    Available  Use%
        hdfs://hadoop002:9000  40028807168  704512  30802395136    0%
        [hadoop@hadoop002 ~]$

1. 單獨啟動和關閉hadoop服務

啟動名稱節點

#hadoop-daemon.sh start namenode

啟動數據節點

#hadoop-daemons.sh start datanode slave

啟動secondarynamenode

#hadoop-daemon.sh start secondarynamenode

 

啟動resourcemanager

#yarn-daemon.sh start resourcemanager

啟動nodemanager

#bin/yarn-daemons.sh start nodemanager

停止數據節點

#hadoop-daemons.sh stop datanode

 

HDFS:

2. 常用的命令 

創建目錄

#hdfs dfs -mkdir /input

創建文件

#hdfs dfs -touchz 文件名

查看

#hdfs dfs  -ls

遞歸查看

#hdfs dfs ls -R

上傳

#hdfs dfs -put 

下載

#hdfs dfs -get 

刪除

#hdfs dfs -rm

 

從本地剪切粘貼到hdfs

#hdfs fs -moveFromLocal /input/xx.txt /input/xx.txt

從hdfs剪切粘貼到本地

#hdfs fs -moveToLocal /input/xx.txt /input/xx.txt

追加一個文件到另一個文件到末尾

#hdfs fs -appedToFile ./hello.txt /input/hello.txt

 

查看文件內容

#hdfs fs -cat /input/hello.txt

顯示一個文件到末尾

#hdfs fs -tail /input/hello.txt

以字符串的形式打印文件的內容

#hdfs fs -text /input/hello.txt

 

修改文件權限

#hdfs fs -chmod 666 /input/hello.txt

修改文件所屬

#hdfs fs -chown ruoze.ruoze  /input/hello.txt

 

從本地文件系統拷貝到hdfs里

#hdfs fs -copyFromLocal /input/hello.txt /input/

從hdfs拷貝到本地

#hdfs fs -copyToLocal /input/hello.txt /input/

 

從hdfs到一個路徑拷貝到另一個路徑

#hdfs fs -cp /input/xx.txt /output/xx.txt

從hdfs到一個路徑移動到另一個路徑

#hdfs fs -mv /input/xx.txt /output/xx.txt

 

統計文件系統的可用空間信息

#hdfs fs -df -h /

統計文件夾的大小信息

#hdfs fs -du -s -h /

統計一個指定目錄下的文件節點數量

#hadoop  fs -count /aaa

使用hdfs有時候需要統計文件行數和文件的大小

1.hdfs下載文件夾中多個文件

hadoop fs -get  /目錄   目錄

 

2.統計多個文件行數

hadoop fs -cat  /文件* | wc -l

 

3.統計文件大小

hadoop fs -count /文件*

 

 

設置hdfs的文件副本數量

#hadoop fs -setrep 3 /input/xx.txt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM