• HDFS常用的Shell命令(转载)


    原文地址: http://www.cuiweiyou.com/1405.html

    0.shell

    root@master:~# hadoop fs
    Usage: hadoop fs [generic options]
      [-appendToFile <localsrc> ... <dst>]
      [-cat [-ignoreCrc] <src> ...]
      [-checksum <src> ...]
      [-chgrp [-R] GROUP PATH...]
      [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
      [-chown [-R] [OWNER][:[GROUP]] PATH...]
      [-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
      [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
      [-count [-q] [-h] <path> ...]
      [-cp [-f] [-p | -p[topax]] <src> ... <dst>]
      [-createSnapshot <snapshotDir> [<snapshotName>]]
      [-deleteSnapshot <snapshotDir> <snapshotName>]
      [-df [-h] [<path> ...]]
      [-du [-s] [-h] <path> ...]
      [-expunge]
      [-find <path> ... <expression> ...]
      [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
      [-getfacl [-R] <path>]
      [-getfattr [-R] {-n name | -d} [-e en] <path>]
      [-getmerge [-nl] <src> <localdst>]
      [-help [cmd ...]]
      [-ls [-d] [-h] [-R] [<path> ...]]
      [-mkdir [-p] <path> ...]
      [-moveFromLocal <localsrc> ... <dst>]
      [-moveToLocal <src> <localdst>]
      [-mv <src> ... <dst>]
      [-put [-f] [-p] [-l] <localsrc> ... <dst>]
      [-renameSnapshot <snapshotDir> <oldName> <newName>]
      [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
      [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
      [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
      [-setfattr {-n name [-v value] | -x name} <path>]
      [-setrep [-R] [-w] <rep> <path> ...]
      [-stat [format] <path> ...]
      [-tail [-f] <file>]
      [-test -[defsz] <path>]
      [-text [-ignoreCrc] <src> ...]
      [-touchz <path> ...]
      [-truncate [-w] <length> <path> ...]
      [-usage [cmd ...]]
     
    Generic options supported are
    -conf <configuration file>     specify an application configuration file
    -D <property=value>            use value for given property
    -fs <local|namenode:port>      specify a namenode
    -jt <local|resourcemanager:port>    specify a ResourceManager
    -files <comma separated list of files>    specify comma separated files to be copied to the map reduce cluster
    -libjars <comma separated list of jars>    specify comma separated jar files to include in the classpath.
    -archives <comma separated list of archives>    specify comma separated archives to be unarchived on the compute machines.
     
    The general command line syntax is
    bin/hadoop command [genericOptions] [commandOptions]
     
    root@master:~#

    1.打印文件列表 ls

    (1)标准写法
    
    hadoop fs -ls hdfs:/        #hdfs: 明确说明是HDFS系统路径

    
    
    (2)简写
    
    hadoop fs -ls /            #默认是HDFS系统下的根目录
    (3)打印指定子目录
    
    hadoop fs -ls /package/test/    #HDFS系统下某个目录
    
    
    (5)最大单位打印
    
    hadoop fs -ls -h /        #文件大小显示为最大单位

    -rw-r–r– 2    root supergroup 4.6M 2015-05-07 10:43  /   dead_train.txt
    权限   副本数 用户  用户组  大小  创建日期 创建时间 路径 文件名

    (6)递归打印
    
    hadoop fs -ls -R / #如果有子目录,则递归打印
    (7)多个打印参数
    
    hadoop fs -ls -h -R /        #递归打印并且最大单位打印文件

     

    
    

    2.上传文件/目录 put、copyFromLocal

    2.1 put 从主机本地系统到集群HDFS系统。

    <1>上传新文件
        hdfs fs -put file:/root/test.txt hdfs:/     #上传本地test.txt文件到HDFS根目录,HDFS根目录须无同名文件,否则“File exists”
        hdfs fs -put test.txt /test2.txt            #上传并重命名文件。
        hdfs fs -put test1.txt test2.txt hdfs:/     #一次上传多个文件到HDFS路径。
    <2>上传文件夹
    
        hdfs fs -put mypkg /newpkg          #上传并重命名了文件夹。
    <3>覆盖上传
    
        hdfs fs -put -f /root/test.txt /      #如果HDFS目录中有同名文件会被覆盖

    2.2copyFromLocal

    <1>上传文件并重命名
    
        hadoop fs -copyFromLocal file:/test.txt hdfs:/test2.txt 
    
    <2>覆盖上传
    
        hadoop fs -copyFromLocal -f test.txt /test.txt

    3.下载文件/目录 get、copyToLocal

    从集群HDFS到本地文件系统。

    3.1 get

    <1>拷贝文件到本地目录
    
        hadoop fs -get hdfs:/test.txt file:/root/
    
    <2>拷贝文件并重命名。可以简写
    
        hadoop fs -get /test.txt /root/test.txt

    3.2 copyToLocal

    <1>拷贝文件到本地目录
    
        hadoop fs -copyToLocal hdfs:/test.txt file:/root/
    
    <2>拷贝文件并重命名。可以简写
    
        hadoop fs -copyToLocal /test.txt /root/test.txt

    4.拷贝文件/目录 cp

    4.1 从本地到HDFS,同put

    hadoop fs -cp file:/test.txt hdfs:/test2.txt

    4.2 从HDFS到HDFS

    hadoop fs -cp hdfs:/test.txt hdfs:/test2.txt 
    hadoop fs -cp /test.txt /test2.txt

    5.移动文件 mv

    hadoop fs -mv hdfs:/test.txt hdfs:/dir/test.txt 
    hadoop fs -mv /test.txt /dir/test.txt

    6.删除文件/目录 rm

    6.1 删除指定文件

    hadoop fs -rm /a.txt

    6.2 删除全部txt文件

    hadoop fs -rm /*.txt

    6.3 递归删除全部文件和目录

    hadoop fs -rm -R /dir/

    7.读取文件 cat

    hadoop fs -cat /test.txt  #以字节码的形式读取

    8.读取文件尾部 tail

    hadoop fs -tail /test.txt  尾部1K字节

    9.创建空文件 touchz

    hadoop fs - touchz /newfile.txt

    10.写入文件 appendToFile

    hadoop fs - appendToFile file:/test.txt hdfs:/newfile.txt      #读取本地文件内容追加到HDFS文件

    11.创建文件夹 mkdir

    hadoop fs -mkdir /newdir /newdir2                #可以同时创建多个
    hadoop fs -mkdir -p /newpkg/newpkg2/newpkg3             #同时创建父级目录

    12.改变文件副本数 setrep

    hadoop fs -setrep -R -w 2 /test.txt

    -R 递归改变目录下所有文件的副本数。
    -w 等待副本数调整完毕后返回。可理解为加了这个参数就是阻塞式的了。

    13.获取逻辑空间文件/目录大小 du

       hadoop fs - du /      #显示HDFS根目录中各文件和文件夹大小
        hadoop fs -du -h /      #以最大单位显示HDFS根目录中各文件和文件夹大小
        hadoop fs -du -s /      #仅显示HDFS根目录大小。即各文件和文件夹大小之和

    14.获取HDFS目录的物理空间信息 count

    hadoop fs -count -q /          #显示HDFS根目录在物理空间的信息

    -q 查看全部信息,否则只显示后四项

  • 相关阅读:
    搭建 structs2 环境
    数据库基础
    好书推荐整理
    Java 完美判断中文字符
    中文在unicode中的编码范围
    [转载]爬虫的自我解剖(抓取网页HtmlUnit)
    web应用配置
    简单的Java Web服务器
    dos基本命令
    Unrecognized Windows Sockets error: 0: JVM_Bind
  • 原文地址:https://www.cnblogs.com/chenyansong/p/5514581.html
Copyright © 2020-2023  润新知