一、HSFS命令格式
写法:hdfs dfs
- 操作的文件系统说明
- hdfs dfs -ls file:/// #操作本地文件系统
- hdfs dfs -ls hdfs://node1:8020/ #操作HDFS分布式文件系统
- hdfs dfs -ls / #直接根目录,没有指定协议 将加载读取fs.defaultFS值
- hadoop dfs、hdfs dfs、 hadoop fs 三者区别
- hadoop dfs 只能操作HDFS文件系统(包括与Local FS间的操作),不过已经Deprecated
- hdfs dfs 只能操作HDFS文件系统相关(包括与Local FS间的操作),常用
- hadoop fs 可操作任意文件系统,不仅仅是hdfs文件系统,使用范围更广
- 目前版本来看,官方最终推荐使用的是hadoop fs。当然hdfs dfs在市面上的使用也比较多。
二、常见命令
- 文件夹创建命令:hadoop fs -mkdir [-p] <path>;-p选项会沿着路径创建父目录
- 文件夹查看命令:hadoop fs -ls [-h] [-R] [<path> ...];-h:人性化显示文件size;-R递归查看指定目录及其子目录
- 文件上传HDFS命令:hadoop fs -put [-f] [-p] <localsrc> ... <dst>;-f:覆盖目标文件;-p:保留访问和修改时间,所有权和权限;localsrc:本地文件系统(上传的文件所在的路径);dst:目标文件系统(想上传到哪个路径)
- 剪切文件到HDFS命令:hadoop fs -moveFromLocal <localsrc> ... <dst>;和-put功能一样,只不过上传结束后,源数据会被删除
- 文件查看命令:hadoop fs -cat <src> ...;读取指定文件全部内容,显示在标准输出控制台;注意,对于大文件内容读取,慎重
- 文件查看命令head:hadoop fs -head <file>;查看文件前1kb的内容
- 文件查看命令tail:hadoop fs -tail [-f] <file>;查看文件最后1kb的内容;-f动态显示文件中追加的内容
- 文件下载命令:hadoop fs -get [-f] [-p] <src> ... <localdst>;下载文件到本地文件系统指定目录,localdst必须是目录;-f:覆盖目标文件;-p 保留访问和修改时间,所有权和权限
- 合并下载命令:hadoop fs -getmerge [-nl] [-skip-empty-file] <src> <localdst>;下载多个文件合并到本地的一个文件中;-nl选项表示在每个文件末尾添加换行符
- 文件拷贝命令:hadoop fs -cp [-f] <src> ... <dst>;-f覆盖目标文件
- 追加数据到HDFS文件:hadoop fs -appendToFile <localsrc> ... <dst>;将所有指定本地文件的内容追加到给定的det文件中;dst如果文件不存在,将创建文件
- 查看HDFS磁盘空间:hadoop fs -df [-h] [<path> ... ];显示文件系统的容量,可用空间和已用空间
- 查看HDFS文件使用的空间量:hadoop fs -du [-s] [-h] <path> ...;-s显示指定路径文件长度的汇总摘要,而不是单个文件的摘要
- HDFS数据移动:hadoop fs -mv <src> ... <dst>;移动文件到指定文件夹下;可以使用该命令移动数据,重命名文件的名称
- 修改HDFS文件副本个数:hadoop fs -setrep [-R] [-w] <rep> <path> ...;-R:表示递归,修改文件夹下所有文件;-w:客户端是否等待副本修改完毕;示例:hadoop fs -setrep -w 2 /temp,其中2是修改成几个副本
- 命令官方指导文档:hadoop.apache.org/docs/r3.1.4…