hdfs实现思想(机制)及hdfs shell

hdfs的实现思想:
1.hdfs是通过分布式集群存储文件,为客户端提供了一个便捷的访问方式,即虚拟的访问目录结构
2.文件存储到hdfs集群中去的时候是被切分成block(文件数据)的
3.文件的block存放在若干台datanode节点上
4.hdfs文件系统中的文件与真实的block之间有映射关系,由namenode进行管理
5.每一个block在集群中会存储多个副本,好处是可以提高数据的可靠性,还可以提高访问的吞吐量/并发能力

1.HDFS shell

hdfs实现思想(机制)及hdfs shellhdfs实现思想(机制)及hdfs shell

hdfs实现思想(机制)及hdfs shell

选项名称

使用格式

含义

-ls

-ls <路径>

查看指定路径的当前目录结构

-lsr

-lsr <路径>

递归查看指定路径的目录结构

-du

-du <路径>

统计目录下个文件大小

-dus

-dus <路径>

汇总统计目录下文件(夹)大小

-count

-count [-q] <路径>

统计文件(夹)数量

-mv

-mv <源路径> <目的路径>

移动

-cp

-cp <源路径> <目的路径>

复制

-rm

-rm [-skipTrash] <路径>

删除文件/空白文件夹

-rmr

-rmr [-skipTrash] <路径>

递归删除

-put

-put <多个 linux 上的文件> <hdfs 路径>

上传文件

-copyFromLocal

-copyFromLocal <多个 linux 上的文件>

<hdfs 路径>

从本地复制

-moveFromLocal

-moveFromLocal <多个 linux 上的文件>

<hdfs 路径>

从本地移动

-getmerge

-getmerge <源路径> <linux 路径>

合并到本地

-cat

-cat <hdfs 路径>

查看文件内容

-text

-text <hdfs 路径>

查看文件内容

-copyToLocal

-copyToLocal [-ignoreCrc] [-crc] [hdfs 源路

径] [linux 目的路径]

从本地复制

-moveToLocal

-moveToLocal [-crc] <hdfs 源路径> <linux

目的路径>

从本地移动

-mkdir

-mkdir <hdfs 路径>

创建空白文件夹

-setrep

-setrep [-R] [-w] <副本数> <路径>

修改副本数量

-touchz

-touchz <文件路径>

创建空白文件

-stat

-stat [format] <路径>

显示文件统计信息

-tail

-tail [-f] <文件>

查看文件尾部信息

-chmod

-chmod [-R] <权限模式> [路径]

修改权限

-chown

-chown [-R] [属主][:[属组]] 路径

修改属主

-chgrp

-chgrp [-R] 属组名称 路径

修改属组

-help

-help [命令选项]

帮助

    注意:以上表格中对于路径包括 hdfs 中的路径和 linux 中的路径。对于容易产生歧义的地方,会特别指出“linux 路径”或者“hdfs 路径”。如果没有明确指出,意味着是 hdfs 路径。

1.0查看帮助
        hadoop fs -help <cmd>
    1.1上传
        hadoop fs -put <linux上文件> <hdfs上的路径>
    1.2查看文件内容
        hadoop fs -cat <hdfs上的路径>
    1.3查看文件列表
        hadoop fs -ls /
    1.4下载文件
        hadoop fs -get <hdfs上的路径> <linux上文件>
    1.5查看磁盘空间
        hadoop fs -df -h <hdfs上的路径>
    1.6查看目录或目录下文件的大小
        hadoop fs -du -s -h <必须指明是hdfs的路径 hdfs:xxx:9000/,否则会认为是Linux服务器路径>
    1.7创建目录
         hadoop fs -mkdir 
         注:不会级联创建文件夹,若是级联文件夹,需要自己创建
    1.8删除没有数据的空目录
         hadoop fs -rmdir <文件名>
    1.9实时刷新看文件尾部
          hadoop fs -tail -f <文件名>