在学习Hadoop的过程中,你可能经常遇到Hadoop命令方面的问题,本节就向大家介绍一些常用的Hadoop命令,欢迎大家一起来学习。

Hadoop命令手册

所有的hadoop命令均由bin/hadoop脚本引发。不指定参数运行hadoop脚本会打印所有命令的描述。
用法:hadoop[--configconfdir][COMMAND][GENERIC_OPTIONS][COMMAND_OPTIONS]
Hadoop有一个选项解析框架用于解析一般的选项和运行类。

命令选项描述
--configconfdir覆盖缺省配置目录。缺省是${HADOOP_HOME}/conf。
GENERIC_OPTIONS多个命令都支持的通用选项。
COMMAND
命令选项S各种各样的命令和它们的选项会在下面提到。这些命令被分为用户命令管理命令两组。

Hadoop命令常规选项

下面的选项被dfsadmin,fs,fsck和job支持。应用程序要实现Tool来支持常规选项。
GENERIC_OPTION描述
-conf<configurationfile>指定应用程序的配置文件。
-D<property=value>为指定property指定值value。
-fs<local|namenode:port>指定namenode。
-jt<local|jobtracker:port>指定jobtracker。只适用于job。
-files<逗号分隔的文件列表>指定要拷贝到mapreduce集群的文件的逗号分隔的列表。只适用于job。
-libjars<逗号分隔的jar列表>指定要包含到classpath中的jar文件的逗号分隔的列表。只适用于job。
-archives<逗号分隔的archive列表>指定要被解压到计算节点上的档案文件的逗号分割的列表。只适用于job。

用户命令

hadoop集群用户的常用命令。
archive
创建一个hadoop档案文件。参考HadoopArchives.
用法:hadooparchive-archiveNameNAME<src>*<dest>

命令选项描述
-archiveNameNAME要创建的档案的名字。
src文件系统的路径名,和通常含正则表达的一样。
dest保存档案文件的目标目录。

distcp
Hadoop命令distcp用于递归地拷贝文件或目录。参考DistCp指南以获取等多信息。
用法:hadoopdistcp<srcurl><desturl>

命令选项描述
srcurl源Url
desturl目标Url

fs

用法:hadoopfs[GENERIC_OPTIONS][COMMAND_OPTIONS]
运行一个常规的文件系统客户端。
各种命令选项可以参考HDFSShell指南。

fsck
Hadoop命令主要用来运行HDFS文件系统检查工具。参考Fsck了解更多。
用法:hadoopfsck[GENERIC_OPTIONS]<path>[-move|-delete|-openforwrite][-files[-blocks[-locations|-racks]]]

命令选项描述
<path>检查的起始目录。
-move移动受损文件到/lost+found
-delete删除受损文件。
-openforwrite打印出写打开的文件。
-files打印出正被检查的文件。
-blocks打印出块信息报告。
-locations打印出每个块的位置信息。
-racks打印出data-node的网络拓扑结构。

jar

Hadoop命令主要用来运行jar文件。用户可以把他们的MapReduce代码捆绑到jar文件中,使用这个命令执行。
用法:hadoopjar<jar>[mainClass]args...
streaming作业是通过这个命令执行的。参考Streamingexamples中的例子。
Wordcount例子也是通过jar命令运行的。参考Wordcountexample。

job

用于和MapReduce作业交互和命令。
用法:hadoopjob[GENERIC_OPTIONS][-submit<job-file>]|[-status<job-id>]|[-counter<job-id><group-name><counter-name>]|[-kill<job-id>]|[-events<job-id><from-event-#><#-of-events>]|[-history[all]<jobOutputDir>]|[-list[all]]|[-kill-task<task-id>]|[-fail-task<task-id>]

命令选项描述
-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>-history<jobOutputDir>打印作业的细节、失败及被杀死原因的细节。更多的关于一个作业的细节比如成功的任务,做过的任务尝试等信息可以通过指定[all]选项查看。
-list[all]-listall显示所有作业。-list只显示将要完成的作业。
-kill-task<task-id>杀死任务。被杀死的任务不会不利于失败尝试。
-fail-task<task-id>使任务失败。被失败的任务会对失败尝试不利。本节有关Hadoop命令简单介绍到这里。