首页 > 代码库 > 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
运行一个MapReduce的tasktracker节点。
Usage: hadoop tasktracker
Apache Hadoop 2.4.1 命令参考