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
















