hadoop支持命令行操作HDFS文件系统,并且支持shell-like命令与HDFS文件系统交互,对于其它的文件系统LocalFS、HFTP FS、S3 FS等。对于大多数 程序猿/媛 来说,shell-like命令行操作都是比较熟悉的,其实这也是Hadoop的极大便利之一,至少对于想熟悉乃至尽快熟练操作HDFS的人来说。
由于平时在工作中经常用到Hadoop Shell命令来操作HDFS上的文件,有时候因为Hadoop Shell命令不熟悉,需要重新查找;或者需要某个命令的参数;再或者需要知晓相似命令的差异;于是便有了本文,对于Hadoop Shell命令的总结,方便自己以后得工作,也算是对类似工作的总结。
- hadoopfsFsShell
- Usage:javaFsShell
- [-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>PATH...]
- [-chown[-R][OWNER][:[GROUP]]PATH...]
- [-chgrp[-R]GROUPPATH...]
- [-help[cmd]]
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> PATH...] [-chown [-R] [OWNER][:[GROUP]] PATH...] [-chgrp [-R] GROUP PATH...] [-help [cmd]]
下面详细解释一下命令的操作,这些命令和Unix下的命令差不多,有些看了就明白其含义了。
hadoop fs -ls <path>
返回文件path的统计信息,信息包括:
permissions number_of_replicas userid groupid filesize modification_date modification_time filename
有没有感觉和shell命令的ls很是类似,需要注意的是number_of_replicas字段,和filesize字段,更要注意一下,path和file在该命令执行时的区别。
hadoop fs -lsr <path>
这个是ls的recursive版本,类似于ls -R命令和ls的区别。
- hadoopfs-du[-s][-h]URI[URI…]
hadoop fs -du [-s] [-h] URI [URI …]
显示文件的大小,其中:
-s:显示文件及其子目录的总体大小
-h:将结果转化成易识别的文件大小
URI表示文件、目录的路径,可以使相对路径,或者绝对路径
hadoop fs -dus URI [URI …]
hadoop fs -du -s URI [URI …]的简写形式。
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必须是目录,不过,不能在不同的FS中移动。
hadoop fs -cp <src> ... <dst>
拷贝多个源到dst,限制是dst必须是目录
- hadoopfs-rm[-skipTrash]<path>
hadoop fs -rm [-skipTrash] <path>
删除文件,不能删除目录
-skipTrash:直接删除文件,不再往.Trash里面放
- hadoopfs-rmr[-skipTrash]<path>
hadoop fs -rmr [-skipTrash] <path>
这个能够迭代删除目录及其下面的文件
-skipTrash:和rm参数里面的功能相同
hadoop fs -expunge
清空Trash,Trash的概念详见http://hadoop.apache.org/docs/r1.0.4/hdfs_design.html,参考下Trash的含义
- hadoopfs-put<localsrc>...<dst>
hadoop fs -put <localsrc> ... <dst>
复制单个、或者多个本地FS的目录或者文件到目标文件系统
- hadoopfs-copyFromLocal<localsrc>...<dst>
hadoop fs -copyFromLocal <localsrc> ... <dst>
和put命令类似,唯一的限制是src必须是本地的文件
- hadoopfs-moveFromLocal<localsrc>...<dst>
hadoop fs -moveFromLocal <localsrc> ... <dst>
和put命令类似,这个命令会在localsrc执行完成后,删除本地的文件,注意是删除本地的文件
- hadoopfs-get[-imnoreCrc]<localsrc>...<dst>
hadoop fs -get [-imnoreCrc] <localsrc> ... <dst>
拷贝FS上的src到本地的dst目录
-imnoreCrc:拷贝时忽略crc检验,如果想拷贝CRCs,需要添加-crc参数
- hadoopfs-getmerge<src><localdst>[addnl]
hadoop fs -getmerge <src> <localdst> [addnl]
合并src和dst文件,将src合并到dst文件之后,注意dst是个本地文件
addnl:会在每行结尾添加newline字符
hadoop fs -cat <src>
将src的内容输出到stdout,和Unix下面的cat功能类似
hadoop fs -text <src>
把src文件按照text输出,zip或者TextRecordInputStream格式的也可以按照text输出。
- hadoopfs-copyToLocal[-ignoreCrc][-crc]<src><localdst>
hadoop fs -copyToLocal [-ignoreCrc] [-crc] <src> <localdst>
和get命令类似,唯一的限制是dst必须是本地文件系统的文件
- hadoopfs-moveToLocal[-crc]<src><localdst>
hadoop fs -moveToLocal [-crc] <src> <localdst>
输出:'-moveToLocal' is not implemented yet,还没有实现
hadoop fs -mkdir <path>
创建path文件夹,如果path的父目录不存在,会迭代创建,类似于mkdir -p命令
- hadoopfs-setrep[-R]<rep><path/file>
hadoop fs -setrep [-R] <rep> <path/file>
修改HDFS文件或者目录的Replication数目,对于重要的文件,需要增加副本数目,确保不会丢失或者损坏。
-R参数表示迭代更新,目录下面的副本数目同时更新。
hadoop fs -touchz <path>
创建一个大小为0的文件,和touch的结果类似
- hadoopfs-test-[ezd]<path>
hadoop fs -test -[ezd] <path>
测试文件的目录属性
-e:测试文件是否存在
-z:文件大小是否为0
-d:测试是否是目录
- hadoopfs-stat[format]<path>
hadoop fs -stat [format] <path>
返回目录的统计信息
hadoop fs -tail [-f] <file>
显示文件的最后kb信息,-f参数和Unix下面的参数一样
- hadoopfs-chmod[-R]<MODE[,MODE]...|OCTALMODE>PATH...
- hadoopfs-chown[-R][OWNER][:[GROUP]]PATH...
- hadoopfs-chgrp[-R]GROUPPATH...
hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH...hadoop fs -chgrp [-R] GROUP PATH...
这三个是权限操作命令,和Unix命令下的功能类似。
Hadoop Shell命令还是比较简单的,只是其中的差别必须等到用的时候才能体会,本文只是做个备忘,将工作中常用的命令整理下。
实际上,在工作中使用hadoop shell命令还是比较有限的,这些足够应付工作的常规情况了
分享到:
相关推荐
这里囊括了所有操作hadoop的shell命令,十分齐全,,。
hadoop shell 命令速查表,大数据 shell 使用方向,重在使用和操作,希望对大家学习和工作有所帮助。
介绍hadoop的基本shell命令用法
该文档记录了在linux的shell环境下执行的hadoop的相关操作命令,包括多hafs文件的相关操作
hadoop 的也许shell命令,hadoopde java 命令
Hadoop Shell命令,针对云计算的hadoop系统的操作命令集合
hadoop HBaseshell常用shell命令,这是工作中整理的一份文档,使用价值很高
Hadoop HDFS_Shell命令详解
hadoop hbase_shell操作命令hadoop hbase_shell操作命令hadoop hbase_shell操作命令hadoop hbase_shell操作命令hadoop hbase_shell操作命令hadoop hbase_shell操作命令
hadoop2安装和常用shell命令,
Hadoop环境搭建和HDFS Shell命令 ppt格式 内容丰富生动
hadoop集群关机重启shell脚本
hadoop-shell 指令学习,
Hadoop Shell 命令自动完成用法与您每天使用的 Bash 自动完成类似,按两次TAB键: TAB TAB 。无需安装获取脚本,假设您将其保存到~/bin/hadoop-completion.sh : curl ...
Hadoop 分布式文件系统 shell命令1
hadoop(二:hadoop3.3.0搭建,HDFS shell 命令,MapReduce程序)
hadoop fs -ls [path] #递归显示当前目录结构 hadoop fs -ls -R [path] #显示根目录下内容 hadoop fs -ls / 创建目录 #创建 lgc 文件夹 hadoop fs -mkdir /lgc #递归创建目录 hadoop fs -mkdir -p [path] 删除操作 ...
主要介绍了Hadoop 中 HBase Shell命令的详解的相关资料,需要的朋友可以参考下