HDFS的Shell操作

命令形式:hadoop fs 具体操作
例:
查看目录下的文件:hadoop fs -ls 目录

1
2
3
[root@hadoop ~]# hadoop fs -ls /    查看根目录下的数据
Found 1 items
drwxr-xr-x - root supergroup 0 2016-11-19 04:49 /usr 说明该目录下有个“/usr”目录

查看目录下的文件:hadoop fs -lsr 目录

1
2
3
4
5
6
7
8
[root@hadoop ~]# hadoop fs -lsr /
drwxr-xr-x - root supergroup 0 2016-11-19 04:49 /usr
drwxr-xr-x - root supergroup 0 2016-11-19 04:49 /usr/local
drwxr-xr-x - root supergroup 0 2016-11-19 04:49 /usr/local/hadoop
drwxr-xr-x - root supergroup 0 2016-11-19 04:49 /usr/local/hadoop/tmp
drwxr-xr-x - root supergroup 0 2016-11-20 01:36 /usr/local/hadoop/tmp/mapred
drwx------ - root supergroup 0 2016-11-20 01:36 /usr/local/hadoop/tmp/mapred/system
-rw------- 1 root supergroup 4 2016-11-20 01:36 /usr/local/hadoop/tmp/mapred/system/jobtracker.info

创建文件夹:hadoop fs -mkdir 文件夹名

1
2
在根目录下创建名为“d1”的文件夹
[root@hadoop ~]# hadoop fs -mkdir /d1

向 HDFS 上传文件:hadoop fs -put Linux路径下文件 HDFS目录
注意:当 HDFS 目录不存在时,系统会把它当成上传后的重命名

1
2
3
4
将根目录下的文件 install.log 上传到根目录下的 d1 文件夹下
[root@hadoop ~]# hadoop fs -put /root/install.log /d1
将根目录下的文件 install.log 上传到根目录下,并命名为 d2
[root@hadoop ~]# hadoop fs -put /root/install.log /d2

从 HDFS 下载文件:hadoop fs -get HDFS路径下文件 Linux目录

1
[root@hadoop ~]# hadoop fs -get /d1 /root/install.log

在 HDFS 下查看文件:hadoop fs -text 文件

1
[root@hadoop ~]# hadoop fs -text /d1/install.log

在 HDFS 下删除文件:hadoop fs -rm 文件

1
[root@hadoop ~]# hadoop fs -rm /d1/install.log

在 HDFS 下删除文件夹:hadoop fs -rmr 文件夹

1
[root@hadoop ~]# hadoop fs -rmr /d1

查看简略帮助文档:hadoop fs
查看详细帮助文档:hadoop fs -help <命令(可选)>

注意:如果表示 HDFS 下文件的时候不用绝对路径,那么默认路径当前用户的家目录(在这里是/usr/root/

注意hadoop fs -ls /的完整命令是``hadoop fs -ls hdfs://hadoop:9000/`,其中路径中的“hadoop”是主机名,这种写法可以指定主机,其省略的时候默认为当前服务器