首页 > 代码库 > Apache Hadoop 2.4.1 命令参考

Apache Hadoop 2.4.1 命令参考

概述

所有的Hadoop命令都是通过bin/hadoop目录下的脚本所执行,在没有任何参数的情况下运行Hadoop脚本将打印该命令描述。

Usage:Hadoop  [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]

hadoop有个输入选项解析框架可以利用在运行class的时候来解析参数。

 COMMAND_OPTION  Description
 --config confdir  包含所有的配置目录,默认目录是$HADOOP_HOME/conf

 GENERIC_OPTION

 COMMAND_OPTION

 这个选项的集合被多个命令支持。各个命令和它们的选项描述在下列的段落中。这些命令被分组成用户命令和管理员命令。

 

通用项

dfsadmin, fs, fsck, job and fetchdt都支持下属选项所有的。应用程序需要实现Tool接口然后才能支持通用选项解析。

 GENERIC_NAME  Description
 --conf <configuration file>  指定一个文件的配置文件
 -D <property>=<value>  为属性指定值
 -jt <local> or <jobtracker:port>  指定一个Job tracker。 仅仅应用于Job。
 -files <comma separated list of files>  用逗号分隔文件并复制到map reduce集群。仅仅应用于job。
 -libjars <comma separated list of jars>  逗号分隔在classpath中的jar文件。仅仅应用于job。
 -archives <comma separated list archives>  用逗号分隔在计算中未归档的文件。 仅仅应用于job。

 

用户命令

hadoop集群用户基于命令是非常方便的

archive

创建一个Hadoop归档,更多信息可以在Hadoop归档中查找。

Usage: hadoop archive -archiveName  NAME  <src>*  <dest>

 COMMAND_OPTION Description 
 -archiveName NAME  被创建archive的名字
 src  文件系统的工作路径,通常使用正则表达式
 dest  包含archive文件的目标目录

 

distcp

 递归拷贝文件或者目录,更多信息可以通过Hadoop DistCp指南来查看。

 Usage:hadoop distcp <srcurl> <desturl>

 COMMAND_OPTION  Description
 srcurl  URL源
 desturl  目标URL

 

fs

Usage:hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]

反对使用,使用hdfs dfs代替使用。

使用客户端运行一个通用文件系统。

各种COMMAND_OPTIONS都可以通过File System Shell指南找到

fsck

运行一个hdfs系统检查工具,更多信息参考fsck。

Usage: hadoop fsck [GENERIC_OPTION]  <path> [-move | -delete | -openforwrite] [-file  [-blocks [-locations | racks] ] ] 

COMMAND_OPTION Description
path 开始检查这个path
-move 移动错误的文件到/lost+found
-delete 删除错误的文件
-openforwrite 为写打开文件
-files 检查输出文件
-blocks 打印快报告
-locations 打印每个块的位置
-racks 为数据节点位置打印网络拓扑

 

fetchdt

从NameNode获取委托token,更多信息请参考fetchdt。

Usage: hadoop fetchdt  [GENERIC_OPTIONS]  [--webservice <namenode_http_addr>] <path>  

 COMMAND_OPTION

 Description

 FileName  文件名字存在的记录中
--webservice https_address  使用http协议代替RPC

 jar

运行一个jar文件,用户可以打包他们的map reduce文件并且可以使用这个命令执行。

Usage: hadoop jar <jar>  [mainClass] args ...

流的工作需要通过这个命令。例子可以从Streaming examples中查阅。

单词统计例子也可以使用jar命令来运行,这个例子我们也可以在Wordcount example中查阅。

job

与map reduce job命名交互。        

Usage: hadoop job [GENERIC_OPTIONS] [-submit <jobfile>]   |  [status <job-id>]   |   [counter <job-id> <group_name> <counter-name>]  |   [-kill <job-id>]   |   [-events <job-id> <from-event-#>]   |   [-history [all] [JobOutputDir]]   |   [-list [all]] | [kill-task<task-id>]   |   [-fail-task <task-id>]   |   [-set-priority<job-id> <priority>]     

 COMMAND-OPTIONS Description 
 -submit job-file  提交一个作业
 -status job-id   打印map reduce完成的百分比和所有作业数量
 -counter job-id group name counter-name  打印统计值
 -kill job-id  杀掉这个作业
 -events job-id from-event-#  #-of-events  打印从jobtracker给定范围接收到的事件细节。
 -history [all]jobOutputDir  打印工作细节,失败和死亡提示信息。 以通过指定[所有]选项获取详细的工作任务和任务成功的尝试
 -list [all]  显示已经完成的作业。 list all显示所有的作业
 -kill-task task-id  杀掉这任务。杀死的任务并不算失败的尝试
 -fail-task task-id  失败的任务。失败的任务算失败尝试
 -set-priority job-id priority  改变job的优先权,允许的有限值是VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW

pipes

运行一个管道作业。

Usage: hadoop pipes [-conf <path>]  [-jobconf <key=value>,[key=value],...]  [-input <path>]  [-output <path>]  [-jar <jarfile>]  

[-inputformat <class>] [-map <class>]  [-partitioner <class>]  [-reduce <class>] [-writer <class>]  [-program <executable>]  [-reduces <num>]

 COMMANE_OPTION Description 
 -conf path  Job配置文件
 -jobconf key=value,key=value,...  添加/覆盖配置文件
 -input path 输入目录
 -output path  输出目录
 -jar jar file  jar文件
 -inputformat class  InputFormat 类
 -map class    java Map类
 -partitioner class  java partitioner
-reduce class  java reduce 类
 -writer class   Java RecordWriter
 -program  executable  可执行的URI
 -reduces num  reduce的数量

 

queue

此命令可以跟hadoop job的队列交互。

Usage: hadoop queue [-list]  |  [-info <job-queue-name> [ShowJobs]]  | [Showacls]      

 COMMAND_OPTION Description 
 -list  获得系统中作业队列的配置列表,以及与作业相关的队列调度信息
 -info job-queue-name [-showJobs]  显示指定作业队列的队列信息和相关的调度信息。如果存在 -showJobs选项的列表,则表示作业提交给指定的作业队列。
 -showacls  显示队列名称和允许当前用户相关的队列操作。列表只包含用户访问队列。

 

version

打印出Hadoop的版本。

Usage: hadoop version

CLASSNAME

可以使用hadoop脚本去执行任何一个类。

Usage: hadoop CLASSNAME

运行这个类的名字叫着 CLASSNAME

classpath

打印hadoop所需jar文件和需求库的路径。

Usage: hadoop classpath

Administration命令

hadoop集群管理员可以基于管理员命令很好的管理集群。

balancer

运行一个负载均衡工具,管理员可以简单的执行 Ctrl-C去停止这个操作, 更对细节请参考 Rebalancer 。

Usage: hadoop balancer [-threshold <threshold>]

 COMMAND_OPTION Description 
 -threshold threshold  磁盘容量百分比。覆盖默认的阀值。

 

daemonlog

为每个守护进程设置日志查看或者设置级别

Usage: hadoop daemonlog  -getlevel <host:port> <name> 

Usage: hadoop daemonlog  -setlevel  <host:port> <name> <level>

 COMMAND_OPTION Description 
 -getlevel host:port name  打印运行在host:port守护进程的日志级别,这个命令内部连接到http://host:port/logLevel?log=name
 -setlevel host:port name level  设置运行在host:port守护进程的日志级别,这个命令内部连接http://host:port/logLevel?log=name

 

datanode

启动一个 HDFS datanode。

Usage: hadoop datanode [-rollback]  

 COMMAND_OPTION Description 
 -rollback 回滚datanode前一个版本,这应该用于停止datanode和hadoop分布式旧版本后 

 

dfsadmin

启动一个hdfs 管理客户端。

Usage: hadoop   dfsadmin    [GENERIC_OPTIONS]     [-report]      [safemode enter | leave | wait  | get]      [-refreshNodes]   [-finalizeUpgrade]         [-upgradeProgress status | details | force]    [-metasave filename]   [-setQuota <quota> <dirname> ... <dirname>]   [-restoreFailedStorage true|false | check]    [-help [cmd]]

 COMMAND_OPTION Description 
 -report  报告基本的文件系统的信息和状态
 -safemode enter / leave / get  / wait  安全模式维护命令。安全模式的Namenode状态

1.name space不接受改变(只读)

2.不能复制和删除块

NameNode启动自动进入安全模式,当配置的最小的块的百分比满足最小复制状态自动离开安全模式。安全模式也可以手动进入,但也需要手动退出。

 -refreshNodes  允许连接到namenode那些应停止重新启用集合,重新读取主机和排除的文件更新到datanode。
 -finalizeUpgrade  HDFS完成升级。datanode删除他们的之前版本的工作目录,其次是Namenode做同样的事。这就完成了升级过程。
 -upgradeProgress  status/details/force  请求当前分布式的升级状态。详细状态或者强制升级。
 -metasave filename

 通过hadoop.log.dir属性指定的目录保存NameNode的主要数据结构到文件。如果文件名已经存在将被覆盖。filename将会包含下列的每一项:

1.DataNode心跳

2.等待复制的块

3.目前被复制的块

4.等待被删除的块

 setQuota quota  dirname ... dirname

为每个dirname目录设置定额,目录配额是一个长整数,并且目录树名和数量是一个硬限制最佳工作目录,错误报告

1.用户不是管理员

2.N不是一个正整数

3.目录不存在或者是一个文件

4.目录将会超过新限额

 -clrQuota dirname ... dirname

 明白每个dirname目录的定额,最佳工作目录,与故障报告

1.目录不存在或者是一个文件

2.用户不是管理员,如果目录没有配额它没有错

 -restroreFailedStorage  true/false/check  这个选项将打开/关闭自动试图恢复失败的存储副本。如果要失败的存储再次可用,系统将会试图从checkpoint中恢复edits或(和)fsimage. ‘check‘将返回当前设置
 -help [cmd]  显示给定命令的帮助,或如果没有指定命令,则显示全部帮助

 

mradmin

运行一个mr管理客户端。

Usage: hadoop mradmin [GENERIC_OPTION]   [-refreshQueueAcls] 

 COMMAND_ OPTION Description 
 -refreshQueueAcls  更新hadoop使用的acl队列

 

jobtracker

运行一个MapReduce job tracker。

Usage:hadoop jobtracker [dumpConfiguration]

 COMMAND_OPTION Description 
 -dumpconfiguration  转储 JobTracker所使用的配置以及JSON格式JobTracker和exits使用标准输出配置

 

namenode

运行namenode。关于升级、回滚、初始化的更多信息请参考Upgrade Rollback 。

Usage: hadoop namenode  [-format] [-upgrade] [-rollback] [-finalize] [-importCheckpoint]  

 COMMAND_OPTION Description 
 -format  格式化namenode,它启动namenode,格式化它,然后关闭它。
 -upgrade  Namenode应该开启升级新hadoop版本分布式选项。
 -rollback  回滚之前的版本。停止旧版本hadoop分布式集群后才应该被使用。
 -finalize  确定将要删除先前文件系统的状态,最近的升级变为永久,回滚选项将不再可用。结束后将namenode关闭
 -importCheckpoint  从一个checkpoint目录加载image并且将他保存到当前的一个。从属性fs.checkpoint.dir读取Checkpoint目录

 

secondarynamenode

运行 HDFS secondary namenode, 更多信息请参考 Secondary Namenode 。

Usage:hadoop secondraynamenode  [-checkpoint [force]]   |  [-geteditsize] 

 COMMAND_OPTION Description 
 -checkPoint [force]  如果EditLog .size >= fs.checkpoint.size,检查点secondary namenode 。 如果使用了-force,检查点忽略EditLog .size
 -geteditsize

 打印Edit Log大小

 

tasktracker

运行一个MapReducetasktracker节点。

Usage: hadoop tasktracker

 

 

 

Apache Hadoop 2.4.1 命令参考