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

posted on 2019-05-17 09:55  吱吱了了  阅读(4048)  评论(0编辑  收藏  举报

导航