概述
所有的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
指定一个文件的配置文件
-D
为属性指定值
-jt
指定一个Job tracker。 仅仅应用于Job。
-files
用逗号分隔文件并复制到map reduce集群。仅仅应用于job。
-libjars
逗号分隔在classpath中的jar文件。仅仅应用于job。
-archives
用逗号分隔在计算中未归档的文件。 仅仅应用于job。
用户命令
hadoop集群用户基于命令是非常方便的
archive
创建一个Hadoop归档,更多信息可以在Hadoop归档中查找。
Usage: hadoop archive -archiveName NAME
COMMAND_OPTION
Description
-archiveName NAME
被创建archive的名字
src
文件系统的工作路径,通常使用正则表达式
dest
包含archive文件的目标目录
distcp
递归拷贝文件或者目录,更多信息可以通过Hadoop DistCp指南来查看。
Usage:hadoop distcp
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]
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>]
COMMAND_OPTION
Description
FileName
文件名字存在的记录中
--webservice https_address
使用http协议代替RPC
jar
运行一个jar文件,用户可以打包他们的map reduce文件并且可以使用这个命令执行。
Usage: hadoop jar
流的工作需要通过这个命令。例子可以从Streaming examples中查阅。
单词统计例子也可以使用jar命令来运行,这个例子我们也可以在Wordcount example中查阅。
job
与map reduce job命名交互。
Usage: hadoop job [GENERIC_OPTIONS] [-submit
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
[-inputformat
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
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
COMMAND_OPTION
Description
-threshold threshold
磁盘容量百分比。覆盖默认的阀值。
daemonlog
为每个守护进程设置日志查看或者设置级别
Usage: hadoop daemonlog -getlevel host:port
Usage: hadoop daemonlog -setlevel host:port
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
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