前言:HDFS设计的主要目标是对海量的数据进行存储,也就是说在其上能够储存大量的文件,HDFS将这些文件分隔后储存在不同的DataNode上面,HDFS提供一个Shell接口,对HDFS里面的文件进行操作,所有的命令均由bin/hadoop脚本引发,不指定参数会打印所有命令的描述。
-help:输出这个命令的可选参数
-
-ls: 显示目录信息 (如果是查看该目录下的内容可以加上-R选项递归查看)
hdfs dfs -ls -R / (递归查看根目录下的内容) -
-mkdir:创建目录
可选项 -p 创建多级目录
hdfs dfs -mkdir -p /user/dir/input -
-put :上传本地文件到hdfs中(put也可以换为copyFromLocal)
hdfs dfs -put /opt/test.txt /user/dir/input -
-cat :查看文件的内容
hdfs dfs -cat /user/dir/input/test.txt -
-moveFromLocal:从本地剪切粘贴到HDFS
-
-cp :从HDFS的一个路径拷贝到HDFS的另一个路径
-
-mv:在HDFS目录中移动文件
hdfs dfs -mv /test1.txt /user/dir -
-rm:删除文件
hdfs dfs -rm /user/dir/test1.txt
如果是删除目录的话是 hdfs dfs -rm -r /user/dir/ -
-get:等同于copyToLocal,就是从HDFS下载文件到本地
hdfs dfs -get /user/dir/input/test.txt ./ -
-du统计文件夹的大小信息
可选项:-h (以人们容易读的方式展示)
-s (统计文件总和的大小) -
-getmerge:合并下载多个文件,比如HDFS的目录 /user/dir/input下有多个文件:test1.txt,test2.txt,test3.txt 将这些文件合并到当前目录下的link.txt中
hdfs dfs -getmerge /user/dir/input* ./link.txt -
dfsadmin:该命令运行一个HDFS的dfsadmin客户端,输入./bin/hadoop dfsadmin将能够支持的命令列表
hdfs dfsadmin -report (报告文件系统的基本信息和统计信息) -
job :该命令用于和Map Reduce作业进行交互命令,
可选项: -list :显示所有作业
-status : 打印Map和Reduce完成百分比和所有计数器
-submit: 提交作业