0
点赞
收藏
分享

微信扫一扫

FS Shell 基础


1 FS Shell

调用文件系统 (FS)Shell 命令应使用 bin/hadoop fs <args>的形式。 所有的的 FS shell 命令使用 URI路径作为参数。URI 格式是

scheme://authority/path

对HDFS文件系统,scheme 是 hdfs,对本地文件系统,scheme 是 file。其中 scheme 和 authority 参数都是可选的,如果未加指定,就会使用配置中指定的默认 scheme。一个 HDFS 文件或目录比如 /parent/child 可以表示成

hdfs://namenode:namenodeport/parent/child,

或者更简单的

/parent/child

(假设你配置文件中的默认值是 namenode:namenodeport)。大多数 FS Shell 命令的行为和对应的 Unix Shell 命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到 stderr,其他信息输出到 stdout。

2 FS 最常用的命令:

hadoop fs -ls hdfs_path //查看HDFS目录下的文件和子目录

hadoop fs -mkdir hdfs_path //在HDFS上创建文件夹

hadoop fs -rm hdfs_path //删除HDFS上的文件

hadoop fs -rmr hdfs_path //删除HDFS上的文件夹

hadoop fs -put local_file hdfs_path //将本地文件copy到HDFS上

hadoop fs -get hdfs_file local_path //复制HDFS文件到本地

hadoop fs -cat hdfs_file //查看HDFS上某文件的内容

3 FS 查看目录下文件夹或者文件的大小

//单位Byte:
hadoop fs -du / | sort -n
//单位MB:
hadoop fs -du / | awk -F ‘ ‘ ‘{printf “%.2fMB\t\t%s\n”, $1/1024/1024,$2}’ | sort -n
//单位GB,大于1G:
hadoop fs -du / | awk -F ‘ ‘ ‘{num=$1/1024/1024/1024; if(num>1){printf “%.2fGB\t\t%s\n”, num, $2} }’ | sort -n

sort -n 表示按照文件大小,从小到大排列顺序。

hadoop fs -du -h hdfs_path

使用 -h 显示 hdfs 对应路径下每个文件夹和文件的大小,文件的大小用方便阅读的形式表示,例如用64M代替67108864

4 其余FS Shell命令

hadoop fs -cat hdfs_path //将路径指定的文件内容输出到 stdout

hadoop fs -tail hdfs_path //将文件尾部1k字节的内容输出到 stdout

hadoop fs -stat hdfs_path //返回指定路径的统计信息

hadoop fs -du hdfs_path //返回目录中所有文件的大小,或者只指定一个文件时,显示该文件的大小

详细可见:https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html


举报

相关推荐

0 条评论