3.hdfs命令和测试

1.hdfs客户端上传本地文件到hdfs系统中的命令:
    A:将文件存入hdfs文件系统
    hdfs dfs -put ./hadoop-2.4.1-x64.tar.gz hdfs://linux-hadoop:9000/
        hdfs:代表是hdfs命令
        -put:上传
        hdfs://linux-hadoop:9000/  hdfs的根目录中
    B:查看hdfs中文件存放的物理地址(我的hdfs默认的tmp文件夹是/usr/software/hadoop-2.4.1/tmp)
    ll /usr/software/hadoop-2.4.1/tmp/dfs/data/current/BP-736695763-10.2.6.129-1468807234798/current/finalized/  结果如:
         -rw-r--r--. 1 root root 124191203 Jul 19 16:44 blk_1073741825(文件块)
         -rw-r--r--. 1 root root    970251 Jul 19 16:44 blk_1073741825_1001.meta(文件完整性检测指标)
2.客户端下载hdfs文件系统的文件的命令:
    A:下载文件
    hdfs dfs -get hdfs://linux-hadoop:9000/hadoop-2.4.1-x64.tar.gz
    默认下载到当前pwd
3.如何不是用hdfs文件系统将文件块拼成一个完整的文件
    原理:hdfs文件系统获取文件也是找到文件的次序依次拼接。
    我们可以在finalized文件块目录里面拼接。
    A:先建立一个空文件
        touch hadoop.tar.gz
    B:依次拼接(我们只有一块,有多块按次序拼接即可)
        cat blk_1073741825 >> hadoop.tar.gz
    拼接成的文件还是可用的。
4.查看hdfs帮助
    命令:hdfs dfs
    [-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] <localsrc> ... <dst>]  将本地文件copy到hdfs,和put一样
    [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]   和get一样
    [-count [-q] <path> ...]     计算path下的文件个数
    [-cp [-f] [-p] <src> ... <dst>]   hdfs内部copy
    [-createSnapshot <snapshotDir> [<snapshotName>]]
    [-deleteSnapshot <snapshotDir> <snapshotName>]
    [-df [-h] [<path> ...]]   path剩余的磁盘空间
    [-du [-s] [-h] <path> ...]  查看path的文件目录中文件占用的内存
    [-expunge]
    [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]  获取hdfs的文件到本地
    [-getfacl [-R] <path>]
    [-getmerge [-nl] <src> <localdst>]
    [-help [cmd ...]]
    [-ls [-d] [-h] [-R] [<path> ...]]    查看某个目录的文件
    [-mkdir [-p] <path> ...]    创建一个文件夹 -p代表批量
    [-moveFromLocal <localsrc> ... <dst>]  剪切本地文件到hdfs
    [-moveToLocal <src> <localdst>]  剪切hdfs到本地
    [-mv <src> ... <dst>] 内部剪切
    [-put [-f] [-p] <localsrc> ... <dst>]        将本地文件传到hdfs
    [-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>]]
    [-setrep [-R] [-w] <rep> <path> ...]
    [-stat [format] <path> ...]
    [-tail [-f] <file>]  查看文件的尾部
    [-test -[defsz] <path>]
    [-text [-ignoreCrc] <src> ...]
    [-touchz <path> ...]
    [-usage [cmd ...]]
    使用其中一个命令的操作如:
    hdfs dfs -ls /       意思是查看hdfs文件系统的 / 目录下的文件(必须指定你要查看的目录路径) 结果如:
        -rw-r--r--   1 root supergroup  124191203 2016-07-19 16:44 /hadoop-2.4.1-x64.tar.gz
        权限    所属用户  文件组名
    

    


posted @ 2016-07-20 11:30  博智星  Views(406)  Comments(0)    收藏  举报