HDFS的命令行操作

1、namenode –format:格式化DFS 文件系统

2、secondaryNameNode 运行DFS SecondaryNameNode 进程

  hadoop secondarynamenode

  [-checkpoint  [force]]

  // EditLog超过规定大小( 默认64MB)时,启动检查 secondarynamenodecheckpoint 过程;如果启用 force选项,则强制执行checkpoint过程。

  [-geteditsize]           //在终端上显示EditLog 文件的大小

3、namenode:运行 DFSnamenode 进程

  hadoop namenode

  [-format]          //格式化namenode

  [-update]          //Hadoop 升级后,应该使用这个命令启动 namenode

  [-rollback]         //使用namenode 回滚前一个版本

  [-finalize]          //删除文件系统的前一个状态,这会导致系统不能回滚到前一个状态

  [-importCheckpoint]  //复制和备份checkpoint 的状态到当前 checkpoint

4、 datanode:运行 DFSdatanode 进程。你可以使用如下命令将 Hadoop回滚到前一个版本。它的用法如下:

  hadoop datanode [-rollback]

5、 dfsadmin:运行 DFS的管理客户端。在dfsadmin命令中可以执行一些类似 Windows中高级用户才能执行的命令,比如升级和回滚等。

  hadoop dfsadmin [GENERIC_OPTIONS]

  [-report]           //在终端上显示文件系统的基本信息

  [-safemote enter | leave | get | wait ]           //Hadoop 的安全模式及相关维护;在安全模式中系统是只读的,数据块也不可以删除或复制

  [-refreshNodes][-finalizeUpgrade]     //重新读取hosts exclude文件,将新的被允许加入到集群中的datanode连入,同时断开与那些从集群出去的 datanode的连接

  [-upgradeProgress status | details | force]      //获得当前系统的升级状态和细节,或者强迫进行升级过程

  [-metasave filename]     //namenode 的主要数据结构保存到指定目录下

  [-setQuota <quota><dirname>…<dirname>]       // 为每个目录设定配额

  [-clrQuota <dirname>…<dirname>]         // 清除这些目录的配额

  [-setSpaceQuota <quota><dirname>…<dirname>]     // 为每个目录设置配额空间

  [-clrSpaceQuota <dirname>…<dirname>]     // 清除这些目录的配额空间

  [-help [cmd]]     //显示命令的帮助信息

6、mradmin:运行 MapReduce的管理客户端

7、fsck:运行 HDFS的检测进程。fsck HDFS中被用来检查系统中的不一致情况,比如某文件只有目录,但数据块已经丢失或副本数目不足。与 Linux不同,这个命令只用于检测,不能进行修复。

  hadoop fsck [GENERIC_OPTIONS] <path> [-move | -delete | -openforwrite ] [-files [-blocks [-locations | -racks ]]]

  //<path>  检查的起始目录

  //-move  移动受损文件到 /lost+found

  //-delete  删除受损文件

  //-openforwrite  在终端上显示为写打开的文件

  //-files  在终端上显示正被检查的文件

  //-blocks  在终端上显示块信息

  //-location  在终端上显示每个块的位置

  //-rack  显示 datanode的网络拓扑结构图

8、balancer:运行一个文件系统平衡进程。很多原因都会造成数据在集群内分布不均衡,一般来说,当集群中添加新的 datanode时,可以使用这个命令来进行负载均衡。其用法如下:

  hadoop balancer

9、jobtracker:运行一个 jobtracker进程

10、pipes:运行一个 Pipes任务

11、tasktracker:运行一个 tasktracker进程

12、job:管理运行中的 MapReduce任务

13、queue:获得运行中的 MapReduce队列的信息

14、version:打印版本号

15、jar<jar>:运行一个 jar文件

16、daemonlog:读取 /设置守护进程的日志记录级别

17、distcp distcp命令用于DistCp( Dist分布式, C盘拷贝) 分布式拷贝。用于在集群内部及集群之间拷贝数据。

18、archives archives命令是Hadoop 定义的档案格式。 archives对应一个文件系统,它的扩展名是 .har,包含元数据和数据文件。

19、fs fs可以说是HDFS 最常用的命令,这是一个高度类似 Linux文件系统的命令集。你可以使用这些命令查看HDFS上的目录结构文件、上传和下载文件、创建文件夹、复制文件等。

hadoop fs [genericOptions]

  [-ls <path>]   //显示目标路径中当前目录下的所有文件

  [-lsr <path>]  //递归显示目标路径下的所有目录及文件 (深度优先)

  [-du <path>]   //以字节为单位显示目录中所有文件的大小,或该文件的大小 (如果目标为文件)

  [-dus <path>]   //以字节为单位显示目标文件大小 (用于查看文件夹大小)

  [-count[-q] <path>]  //将目录的大小、包含文件 (包括文件) 个数的信息输出到屏幕 (标准stdout)

  [-mv <src> <dst>]  //把文件或目录移动到目标路径,这个命令允许同时移动多个文件,但是只允许移动到一个目标路径中,参数中的最后一个文件夹即为目标路径

  [-cp <src> <dst>]  //复制文件或目录到目标路径,这个命令允许同时复制多个文件,如果复制多个文件,目标路径必须是文件夹

  [-rm [-skipTrash] <path>]   //删除文件,这个命令不能删除文件夹

  [-rmr [-skipTrash] <path>]    //删除文件夹及其下的所有文件

  [-expunge] 

  [-put <localsrc> ... <dst>]  //从本地文件系统上传文件到 HDFS

  [-copyFromLocal <localsrc> ... <dst>]  //put 相同,在 0.18版中,只允许上传一个文件,但是在 0.20中,这两个命令已经完全一样了

  [-moveFromLocal <localsrc> ... <dst>]  //put 相同,但是文件上传之后会从本地文件系统中移除

  [-get [-ignoreCrc] [-crc] <src> <localdst>]  //复制文件到本地文件系统。这个命令可以选择是否忽视校验和,忽视校验和下载主要用于挽救那些已经发生错误的文件

  [-getmerge <src> <localdst> [addnl]]  //对源目录中的所有文件进行排序并写入目标文件中,文件之间以换行符分隔

  [-cat <src>]  //在终端显示( 标准输出 stdout)文件中的内容,类似Linux系统中的 cat

  [-text <src>] 

  [-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>]  //get 相同

  [-moveToLocal [-crc] <src> <localdst>]  //这个命令在0.20 版本中没有完成

  [-mkdir <path>]  //创建文件夹

  [-setrep [-R] [-w] <rep> <path/file>]   //改变一个文件的副本个数。参数 -R可以递归地对该目录下的所有文件执行统一操作

  [-touchz <path>]  //类似Linux 中的touch,创建一个空文件

  [-test -[ezd] <path>]  //将源文件输出为文本格式并显示到终端上,通过这个命令可以查看TextRecordInputStream(SequenceFile) zip文件

  [-stat [format] <path>]  //以指定格式返回路径的信息

  [-tail [-f] <file>]  //在终端上显示( 标注输出 stdout)文件的最后1kb 内容。-f选项的行为与 Linux中一致,会持续检测新添加到文件中的内容,这在查看日志文件时会显得非常方便

  [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]  //改变文件的权限,只有文件的所有者或是超级用户才能使用这个命令。 -R可以递归地改变文件夹内所有文件的权限

  [-chown [-R] [OWNER][:[GROUP]] PATH...]  //改变文件的拥有者,-R可以递归地改变文件夹内所有文件的拥有者。同样,这个命令只有超级用户才能使用

  [-chgrp [-R] GROUP PATH...]  //改变文件所属的组,-R可以递归地改变文件夹内所有文件所属的组,这个命令只有超级用户才能使用

  [-help [cmd]]  //这是命令的帮助信息

posted @ 2015-12-03 22:02  我是一名老菜鸟  阅读(2280)  评论(0编辑  收藏  举报