【hadoop系列】Hadoop HDFS命令

格式: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目录:
【hadoop系列】Hadoop HDFS命令
2、查看之前创建的HDFS目录
【hadoop系列】Hadoop HDFS命令

注意:因为登录的用户为hduser,所以会显示/user/hduser下的目录。

3、查看HDFS完整目录

因为hadoop fs -ls只能查看一级目录,所以必须逐级查看:

【hadoop系列】Hadoop HDFS命令

4、查看所有的HDFS子目录

HDFS提供了一个方便的选项 -R 可以递归查看目录

【hadoop系列】Hadoop HDFS命令

5、一次性创建所有HDFS子目录

逐级创建很麻烦,但是可以添加参数-p,来一次性创建多级目录:

【hadoop系列】Hadoop HDFS命令


【二、从本地计算机复制文件到HDFS】

1、复制本地文件到HDFS:

【hadoop系列】Hadoop HDFS命令

2、列出文件内容:

【hadoop系列】Hadoop HDFS命令

可以使用:hadoop fs -cat /user/hduser/test/test1.txt | more   进行分页显示

3、如果复制到HDFS的文件已经存在,会报错,此时可以使用-f 参数,强制复制重复文件到HDFS目录:

【hadoop系列】Hadoop HDFS命令

4、从本地复制多个文件到HDFS,中间用空格分割即可。

5、从本地复制整个目录到HDFS:

【hadoop系列】Hadoop HDFS命令

6、列出HDFS目录下的所有文件(包括这个目录下子目录的文件)

【hadoop系列】Hadoop HDFS命令

7、使用put复制文件到HDFS,这个参数与copyFromLocal的不同之处在于:

-put更宽松,可以把本地或者HDFS上的文件拷贝到HDFS中;而-copyFromLocal则更严格限制只能拷贝本地文件到HDFS中。如果本地和HDFS上都存在相同路径,则-put跟趋于优先取HDFS的源。(不用太深究两者区别,更多用-put)

【hadoop系列】Hadoop HDFS命令


【三、从HDFS上复制文件到本地】

1、参数 -copyToLocal

【hadoop系列】Hadoop HDFS命令

2、同样的也可以用参数-get完成上述操作:

【hadoop系列】Hadoop HDFS命令


【四、复制与删除HDFS文件】

1、使用-cp参数,在HDFS上进行复制文件

【hadoop系列】Hadoop HDFS命令

2、使用-rm参数,删除HDFS上的文件;添加-R参数,删除目录:

【hadoop系列】Hadoop HDFS命令

【hadoop系列】Hadoop HDFS命令 

在http://master:50070上可以浏览和操作HDFS的目录和文件