格式:hadoop fs -命令
主要有如下的命令:
命令 | 说明 |
---|---|
hadoop fs -mkdir | 创建HDFS目录 |
hadoop fs -ls | 列出HDFS目录 |
hadoop fs -copyFromLocal | 使用-copyFromLocal复制本地文件(local)到HDFS |
hadoop fs -put | 使用-put复制本地(local)文件到HDFS |
hadoop fs -copyToLocal | 将HDFS上的文件复制到本地(local) |
hadoop fs -get | 将HDFS上的文件复制到本地(local) |
hadoop fs -cp | 复制HDFS文件 |
hadoop fs -rm | 删除HDFS文件 |
hadoop fs -cat | 列出HDFS目录下的文件的内容 |
【一、创建与查看HDFS目录】
1、创建HDFS目录:
2、查看之前创建的HDFS目录
注意:因为登录的用户为hduser,所以会显示/user/hduser下的目录。
3、查看HDFS完整目录
因为hadoop fs -ls只能查看一级目录,所以必须逐级查看:
4、查看所有的HDFS子目录
HDFS提供了一个方便的选项 -R 可以递归查看目录
5、一次性创建所有HDFS子目录
逐级创建很麻烦,但是可以添加参数-p,来一次性创建多级目录:
【二、从本地计算机复制文件到HDFS】
1、复制本地文件到HDFS:
2、列出文件内容:
可以使用:hadoop fs -cat /user/hduser/test/test1.txt | more 进行分页显示
3、如果复制到HDFS的文件已经存在,会报错,此时可以使用-f 参数,强制复制重复文件到HDFS目录:
4、从本地复制多个文件到HDFS,中间用空格分割即可。
5、从本地复制整个目录到HDFS:
6、列出HDFS目录下的所有文件(包括这个目录下子目录的文件)
7、使用put复制文件到HDFS,这个参数与copyFromLocal的不同之处在于:
-put更宽松,可以把本地或者HDFS上的文件拷贝到HDFS中;而-copyFromLocal则更严格限制只能拷贝本地文件到HDFS中。如果本地和HDFS上都存在相同路径,则-put跟趋于优先取HDFS的源。(不用太深究两者区别,更多用-put)
【三、从HDFS上复制文件到本地】
1、参数 -copyToLocal
2、同样的也可以用参数-get完成上述操作:
【四、复制与删除HDFS文件】
1、使用-cp参数,在HDFS上进行复制文件
2、使用-rm参数,删除HDFS上的文件;添加-R参数,删除目录:
在http://master:50070上可以浏览和操作HDFS的目录和文件