操作hdfs系统可以使用hadoop fs 也可以使用 hdfs dfs ,两者效果一样。

Hadoop启动:

start-all.sh 等价于 start-dfs.sh + start-yarn.sh
一般不推荐使用start-all.sh

常用命令:

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

hadoop fs –lsr  //循环列出目录、子目录及文件信息   

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上某文件的内容

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

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

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

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

hadoop job –kill  [job-id] //将正在运行的hadoop作业kill掉

fs 查看目录下文件夹或者文件的大小:

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

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

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