hdfs实现思想(机制)及hdfs shell
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 <文件名>