原文地址: http://www.cuiweiyou.com/1405.html
0.shell
root@master:~# hadoop fs 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] <path> ...] [-cp [-f] [-p | -p[topax]] <src> ... <dst>] [-createSnapshot <snapshotDir> [<snapshotName>]] [-deleteSnapshot <snapshotDir> <snapshotName>] [-df [-h] [<path> ...]] [-du [-s] [-h] <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 [-d] [-h] [-R] [<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> ...] [-truncate [-w] <length> <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] root@master:~#
1.打印文件列表 ls
(1)标准写法
hadoop fs -ls hdfs:/ #hdfs: 明确说明是HDFS系统路径
(2)简写
hadoop fs -ls / #默认是HDFS系统下的根目录
(3)打印指定子目录
hadoop fs -ls /package/test/ #HDFS系统下某个目录
(5)最大单位打印
hadoop fs -ls -h / #文件大小显示为最大单位
-rw-r–r– 2 root supergroup 4.6M 2015-05-07 10:43 / dead_train.txt
权限 副本数 用户 用户组 大小 创建日期 创建时间 路径 文件名
(6)递归打印
hadoop fs -ls -R / #如果有子目录,则递归打印
(7)多个打印参数
hadoop fs -ls -h -R / #递归打印并且最大单位打印文件
2.上传文件/目录 put、copyFromLocal
2.1 put 从主机本地系统到集群HDFS系统。
<1>上传新文件 hdfs fs -put file:/root/test.txt hdfs:/ #上传本地test.txt文件到HDFS根目录,HDFS根目录须无同名文件,否则“File exists” hdfs fs -put test.txt /test2.txt #上传并重命名文件。 hdfs fs -put test1.txt test2.txt hdfs:/ #一次上传多个文件到HDFS路径。
<2>上传文件夹
hdfs fs -put mypkg /newpkg #上传并重命名了文件夹。
<3>覆盖上传
hdfs fs -put -f /root/test.txt / #如果HDFS目录中有同名文件会被覆盖
2.2copyFromLocal
<1>上传文件并重命名 hadoop fs -copyFromLocal file:/test.txt hdfs:/test2.txt <2>覆盖上传 hadoop fs -copyFromLocal -f test.txt /test.txt
3.下载文件/目录 get、copyToLocal
从集群HDFS到本地文件系统。
3.1 get
<1>拷贝文件到本地目录 hadoop fs -get hdfs:/test.txt file:/root/ <2>拷贝文件并重命名。可以简写 hadoop fs -get /test.txt /root/test.txt
3.2 copyToLocal
<1>拷贝文件到本地目录 hadoop fs -copyToLocal hdfs:/test.txt file:/root/ <2>拷贝文件并重命名。可以简写 hadoop fs -copyToLocal /test.txt /root/test.txt
4.拷贝文件/目录 cp
4.1 从本地到HDFS,同put
hadoop fs -cp file:/test.txt hdfs:/test2.txt
4.2 从HDFS到HDFS
hadoop fs -cp hdfs:/test.txt hdfs:/test2.txt
hadoop fs -cp /test.txt /test2.txt
5.移动文件 mv
hadoop fs -mv hdfs:/test.txt hdfs:/dir/test.txt hadoop fs -mv /test.txt /dir/test.txt
6.删除文件/目录 rm
6.1 删除指定文件
hadoop fs -rm /a.txt
6.2 删除全部txt文件
hadoop fs -rm /*.txt
6.3 递归删除全部文件和目录
hadoop fs -rm -R /dir/
7.读取文件 cat
hadoop fs -cat /test.txt #以字节码的形式读取
8.读取文件尾部 tail
hadoop fs -tail /test.txt 尾部1K字节
9.创建空文件 touchz
hadoop fs - touchz /newfile.txt
10.写入文件 appendToFile
hadoop fs - appendToFile file:/test.txt hdfs:/newfile.txt #读取本地文件内容追加到HDFS文件
11.创建文件夹 mkdir
hadoop fs -mkdir /newdir /newdir2 #可以同时创建多个
hadoop fs -mkdir -p /newpkg/newpkg2/newpkg3 #同时创建父级目录
12.改变文件副本数 setrep
hadoop fs -setrep -R -w 2 /test.txt
-R 递归改变目录下所有文件的副本数。
-w 等待副本数调整完毕后返回。可理解为加了这个参数就是阻塞式的了。
13.获取逻辑空间文件/目录大小 du
hadoop fs - du / #显示HDFS根目录中各文件和文件夹大小 hadoop fs -du -h / #以最大单位显示HDFS根目录中各文件和文件夹大小 hadoop fs -du -s / #仅显示HDFS根目录大小。即各文件和文件夹大小之和
14.获取HDFS目录的物理空间信息 count
hadoop fs -count -q / #显示HDFS根目录在物理空间的信息
-q 查看全部信息,否则只显示后四项