Hadoop之命令行操作
在hadoop平台上可以通过如下的命令查看此平台的可用命令:
[root@hadoop-master001 sbin]# hdfs dfs Usage: hadoop fs [generic options] [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp [-R] GROUP PATH...] [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...] [-chown [-R] [OWNER][:[GROUP]] PATH...] [-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>] [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>] [-count [-q] [-h] [-v] [-x] <path> ...] [-cp [-f] [-p | -p[topax]] <src> ... <dst>] [-createSnapshot <snapshotDir> [<snapshotName>]] [-deleteSnapshot <snapshotDir> <snapshotName>] [-df [-h] [<path> ...]] [-du [-s] [-h] [-x] <path> ...] [-expunge] [-find <path> ... <expression> ...] [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>] [-getfacl [-R] <path>] [-getfattr [-R] {-n name | -d} [-e en] <path>] [-getmerge [-nl] <src> <localdst>] [-help [cmd ...]] [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...]] [-mkdir [-p] <path> ...] [-moveFromLocal <localsrc> ... <dst>] [-moveToLocal <src> <localdst>] [-mv <src> ... <dst>] [-put [-f] [-p] [-l] <localsrc> ... <dst>] [-renameSnapshot <snapshotDir> <oldName> <newName>] [-rm [-f] [-r|-R] [-skipTrash] <src> ...] [-rmdir [--ignore-fail-on-non-empty] <dir> ...] [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]] [-setfattr {-n name [-v value] | -x name} <path>] [-setrep [-R] [-w] <rep> <path> ...] [-stat [format] <path> ...] [-tail [-f] <file>] [-test -[defsz] <path>] [-text [-ignoreCrc] <src> ...] [-touchz <path> ...] [-usage [cmd ...]] Generic options supported are -conf <configuration file> specify an application configuration file -D <property=value> use value for given property -fs <local|namenode:port> specify a namenode -jt <local|resourcemanager:port> specify a ResourceManager -files <comma separated list of files> specify comma separated files to be copied to the map reduce cluster -libjars <comma separated list of jars> specify comma separated jar files to include in the classpath. -archives <comma separated list of archives> specify comma separated archives to be unarchived on the compute machines. The general command line syntax is bin/hadoop command [genericOptions] [commandOptions]
可以看到有很多的命令,但是我们hi需要掌握常用的命令即可:
1、hadoop fs -ls
查看hadoop分布式文件系统上的文件
[root@hadoop-master001 sbin]# hadoop fs -ls / 20/04/18 09:19:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where
applicable
2、hadoop fs -put
上传文件到hadoop分布式文件系统上
[root@hadoop-master001 ~]# hadoop fs -put anaconda-ks.cfg / 20/04/18 09:22:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes
where applicable
将文件 anaconda-ks.cfg上传到分布式文件系统的根目录下
3、hadoop fs -copyFromLocal
将本地文件拷贝到hadoop分布式系统上
[root@hadoop-master001 hadoopdata]# hadoop fs -copyFromLocal test1.txt / #将test1.txt文件拷贝到hadoop分布式文件系统上
4、hadoop fs -moveFromLocal
将本地文件移动到hadoop分布式系统上,此时本地文件不存在了
[root@hadoop-master001 hadoopdata]# hadoop fs -moveFromLocal test2.txt / #将文件test2.txt移动到hadoop文件系统的根目录下
5、hadoop fs -cat
查看分布式文件系统上文件的内容
[root@hadoop-master001 hadoopdata]# hadoop fs -cat /test1.txt
6、hadoop fs -text
这与上面的命令一样,也是查看文件的内容
[root@hadoop-master001 hadoopdata]# hadoop fs -text /test1.txt
7、hadoop fs -get
拷贝文件从hadoop分布式文件系统到本地文件系统中
[root@hadoop-master001 hadoopdata]# hadoop fs -get /test2.txt . #将分布式文件系统上的test2.txt拷贝到本地文件系统的当前目录下
8、hadoop fs -mkdir
在分布式文件系统上创建文件夹
[root@hadoop-master001 hadoopdata]# hadoop fs -mkdir /temp #在hadoop分布式文件系统的根目录下创建temp目录
9、hadoop fs -mv
这个命令有两个作用,一个是移动,另一个是修改名称
[root@hadoop-master001 hadoopdata]# hadoop fs -mv /test1.txt /temp #将hadoop分布式文件系统的根目录下的test.txt文件移动到temp目录下
10、hadoop fs -getmerge
将多个文件进行合并,比如现在hadoop的分布式文件系统上的temp目录下有两个文件,然后对其进行合并
[root@hadoop-master001 hadoopdata]# hadoop fs -ls /temp Found 2 items -rw-r--r-- 1 root supergroup 0 2020-04-18 09:27 /temp/test1.txt -rw-r--r-- 1 root supergroup 0 2020-04-18 09:50 /temp/test2.txt [root@hadoop-master001 hadoopdata]# hadoop fs -getmerge /temp ./test3.txt [root@hadoop-master001 hadoopdata]# ls test1.txt test2 test3.txt
将分布式文件系统的temp目录下的test.txt和test2.txt文件进行合并到本地文件系统的test3.txt文件中
11、hadoop fs -rm
删除分布式文件系统上的文件
[root@hadoop-master001 hadoopdata]# hadoop fs -rm /temp/test1.txt
12、hadoop fs -rmdir
删除分布式文件系统上的文件夹
[root@hadoop-master001 hadoopdata]# hadoop fs -rmdir /temp
13、hadoop fs -rmr
强制删除分布式文件系统上文件夹
[root@hadoop-master001 hadoopdata]# hadoop fs -rmr /temp
14、hadoop fs -cp
分布式文件系统之间的复制文件
[root@hadoop-master001 hadoopdata]# hadoop fs -cp /temp/test2.txt /
作者:iveBoy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。


浙公网安备 33010602011771号