HadoopShell命令⼤全
hadoop⽀持命令⾏操作HDFS⽂件系统,并且⽀持shell-like命令与HDFS⽂件系统交互,对于⼤多数程序猿/媛来说,shell-like命令⾏操作都是⽐较熟悉的,其实这也是Hadoop 的极⼤便利之⼀,⾄少对于想熟悉乃⾄尽快熟练操作HDFS的⼈来说。
由于平时在⼯作中经常⽤到Hadoop Shell命令来操作HDFS上的⽂件,有时候因为Hadoop Shell命令不熟悉,需要重新查;或者需要某个命令的参数;再或者需要知晓相似命令的差异;于是便有了本⽂,对于Hadoop Shell命令的总结,⽅便⾃⼰以后得⼯作,也算是对类似⼯作的总结。
hadoop fs FsShell
Usage: java FsShell
[-ls <path>]
[-lsr <path>]
[-df [<path>]]
[-du <path>]
[-dus <path>]
[-count[-q] <path>]
[-mv <src> <dst>]
[-cp <src> <dst>]
[-rm [-skipTrash] <path>]
[-rmr [-skipTrash] <path>]
[-expunge]
[-put <localsrc> ... <dst>]
[-copyFromLocal <localsrc> ... <dst>]
[-moveFromLocal <localsrc> ... <dst>]
[-get [-ignoreCrc] [-crc] <src> <localdst>]
[-getmerge <src> <localdst> [addnl]]
[-cat <src>]
[-text <src>]
[-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>]
[-moveToLocal [-crc] <src> <localdst>]
[-mkdir <path>]
[-setrep [-R] [-w] <rep> <path/file>]
[-touchz <path>]
[-test -[ezd] <path>]
[-stat [format] <path>]
[-snapshot <path>]
[-tail [-f] <file>]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> ]
[-chown [-R] [OWNER][:[GROUP]] ]
[-chgrp [-R] ]
[-help [cmd]]
下⾯详细解释⼀下命令的操作,这些命令和Unix下的命令差不多,有些看了就明⽩其含义了。
hadoop fs -ls <path>
返回⽂件path的统计信息,信息包括:
permissions number_of_replicas userid groupid filesize modification_date modification_time filename
hadoop fs -lsr <path>
这个是ls的recursive版本,类似于ls -R命令和ls的区别。
hadoop fs -du URI
显⽰⽂件的⼤⼩。
hadoop fs -dus URI
类似于du -s:显⽰⽂件及其⼦⽬录的总体⼤⼩。
hadoop fs -df <path>
显⽰Hadoop所使⽤的⽂件系统的⼤⼩。
hadoop fs -count [-q] <path>
显⽰path 下的⽬录数量,⽂件⼤⼩等信息。默认情况下显⽰⼀下信息:
DIR_COUNT, FILE_COUNT, CONTENT_SIZE FILE_NAME
添加-q信息后,输出的信息更多:
QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME
hadoop fs -mv <src> <dst>
从src移动到dst,允许多个源移动到同⼀个dst,dst必须是⽬录。
hadoop fs -cp <src> ... <dst>
拷贝多个源到dst,限制是dst必须是⽬录。
hadoop fs -rm [-skipTrash] <path>
删除⽂件,不能删除⽬录
-skipTrash:直接删除⽂件,不再往.Trash⾥⾯放。
hadoop fs -rmr [-skipTrash] <path>
这个能够迭代删除⽬录及其下⾯的⽂件
-skipTrash:直接删除⽂件,不再往.Trash⾥⾯放。
hadoop fs -expunge
清空Trash,Trash的概念详见,参考下Trash的含义
When a file is deleted by a user or an application, it is not immediately removed from HDFS. Instead, HDFS first renames it to a file in the /trash directory. The file can be restored quickly as long as it remains in /trash. A file remains in /trash fo A user can Undelete a file after deleting it as long as it remains in the /trash directory. If a user wants to undelete a file that he/she has deleted, he/she can navigate the /trash directory and retrieve the file. The /trash directory contains only the l
⽂件传输:
hadoop fs -put <localsrc> ... <dst>
复制单个、或者多个本地FS的⽬录或者⽂件到⽬标⽂件系统。
hadoop fs -copyFromLocal <localsrc> ... <dst>
和put命令类似,唯⼀的限制是src必须是本地的⽂件。
hadoop fs -moveFromLocal <localsrc> ... <dst>
和put命令类似,这个命令会在localsrc执⾏完成后,删除本地的⽂件,注意是删除本地的⽂件。
hadoop fs -get [-ignoreCrc] <localsrc> ... <dst>
拷贝FS上的src到本地的dst⽬录
-ignoreCrc:拷贝时忽略crc检验,如果想拷贝CRCs,需要添加-crc参数。
hadoop fs -getmerge <src><localdst> [addnl]
src是源⽬录,localdst是本地⽬标⽂件,将源⽬录的所有⽂件连接成本地⽬标⽂件。addnl是可选的,⽤于指定在每个⽂件结尾添加⼀个换⾏符。
hadoop fs -cat <src>
将src的内容输出到stdout,和Unix下⾯的cat功能类似。
hadoop fs -text <src>
shell命令属于什么语言把src⽂件按照text输出,zip或者TextRecordInputStream格式的也可以按照text输出。
hadoop fs -copyToLocal [-ignoreCrc] [-crc] <src><localdst>
和get命令类似,唯⼀的限制是dst必须是本地⽂件系统的⽂件。
hadoop fs -moveToLocal [-crc] <src><localdst>
输出:'-moveToLocal' is not implemented yet,还没有实现。
hadoop fs -mkdir <path>
创建path⽂件夹,如果path的⽗⽬录不存在,会迭代创建,类似于mkdir -p命令。
hadoop fs -setrep [-R] <rep><path/file>
修改HDFS⽂件或者⽬录的Replication数⽬,对于重要的⽂件,需要增加副本数⽬,确保不会丢失或者损坏。
-R参数表⽰迭代更新,⽬录下⾯的副本数⽬同时更新。
hadoop fs -touchz <path>
创建⼀个⼤⼩为0的⽂件。
hadoop fs -test -[ezd] <path>
测试⽂件的⽬录属性,-e:测试⽂件是否存在;-z:⽂件⼤⼩是否为0;-d:测试是否是⽬录。
hadoop fs -stat [format] <path>
返回⽬录的统计信息。
hadoop fs -tail [-f] <file>
显⽰⽂件的最后1kb信息,-f参数和Unix下⾯的参数⼀样。
hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE>
hadoop fs -chown [-R] [OWNER][:[GROUP]]
hadoop fs -chgrp [-R]
这三个是权限操作命令,和Unix命令下的功能类似。
Hadoop Shell命令还是⽐较简单的,只是其中的差别必须等到⽤的时候才能体会,本⽂只是做个备忘,将⼯作中常⽤的命令整理下。
转⾃:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。