MapReduce命令指南

概述

所有mapreduce命令都通过bin/mapred脚本调用。不带任何参数运行mapred脚本会显示所有命令的描述。

用法:mapred [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]

Hadoop 提供了一个选项解析框架,用于解析通用选项以及运行类。

COMMAND_OPTIONS 描述
SHELL_OPTIONS 通用的shell选项集合。这些选项在Hadoop命令参考页面中有详细说明。
GENERIC_OPTIONS 多个命令支持的通用选项集。更多信息请参阅Hadoop命令参考
COMMAND_OPTIONS 以下部分描述了各种命令及其选项。这些命令被分为用户命令管理命令

用户命令

对hadoop集群用户有用的命令。

archive

创建一个hadoop归档文件。更多信息请参阅Hadoop归档指南

archive-logs

一个将YARN聚合日志合并为Hadoop归档文件的工具,用于减少HDFS中的文件数量。更多信息请参阅Hadoop归档日志指南

classpath

用法:yarn classpath [--glob |--jar <path> |-h |--help]

COMMAND_OPTION 描述
--glob expand wildcards
--jar path write classpath as manifest in jar named path
-h, --help print help

打印获取Hadoop jar包及所需依赖库所需的类路径。如果调用时不带参数,则打印由命令脚本设置的类路径,其中类路径条目可能包含通配符。其他选项会在通配符展开后打印类路径,或将类路径写入jar文件的清单中。后者适用于无法使用通配符且展开后的类路径超过支持的最大命令行长度的环境。

distcp

递归复制文件或目录。更多信息请参阅Hadoop DistCp指南

job

用于与Map Reduce作业交互的命令。

用法:mapred job | [GENERIC_OPTIONS] | [-submit ] | [-status ] | [-counter ] | [-kill ] | [-events <#-of-events>] | [-history [all] [-outfile ] [-format ]] | [-list [all]] | [-kill-task ] | [-fail-task ] | [-set-priority ] | [-list-active-trackers] | [-list-blacklisted-trackers] | [-list-attempt-ids ] [-logs ] [-config ]

COMMAND_OPTION 描述
-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] jobHistoryFile|jobId [-outfile file] [-format human|json] 打印作业详情、失败和被终止的任务详情。通过指定[all]选项可以查看更详细的作业信息,例如成功的任务、每个任务的任务尝试记录、任务计数器等。可以指定可选的输出文件路径(替代标准输出)。默认格式为人类可读格式,但也可以通过[-format]选项更改为JSON格式。
-list [all] Displays jobs which are yet to complete. -list all displays all jobs.
-kill-task task-id 终止指定任务。被终止的任务不会被计入失败尝试次数。
-fail-task task-id 使任务失败。失败的任务会被计入失败尝试次数。
-set-priority job-id priority 更改作业的优先级。允许的优先级值为 VERY_HIGH(极高)、HIGH(高)、NORMAL(普通)、LOW(低)、VERY_LOW(极低)
-list-active-trackers 列出集群中所有活跃的NodeManager节点。
-list-blacklisted-trackers 列出集群中被列入黑名单的任务跟踪器。此命令在基于MRv2的集群中不受支持。
-list-attempt-ids job-id task-type task-state 根据给定的任务类型和状态列出尝试ID。task-type的有效值为REDUCE、MAP。task-state的有效值为running(运行中)、pending(等待中)、completed(已完成)、failed(已失败)、killed(已终止)。
-logs job-id task-attempt-id 如果未指定taskAttemptId,则转储作业的容器日志;否则转储具有指定taskAttemptId的任务日志。日志将被转储到系统输出中。
-config job-id file 下载作业配置文件。

pipes

运行一个管道作业。

用法:mapred pipes [-conf <路径>] [-jobconf <键=值>, <键=值>, ...] [-input <路径>] [-output <路径>] [-jar ] [-inputformat <类>] [-map <类>] [-partitioner <类>] [-reduce <类>] [-writer <类>] [-program <可执行文件>] [-reduces <数量>]

COMMAND_OPTION 描述
-conf path 作业配置
-jobconf key=value, key=value, … 添加/覆盖作业配置
-input path 输入目录
-output path 输出目录
-jar jar文件 Jar文件名
-inputformat class InputFormat类
-map class Java映射类
-partitioner class Java分区器
-reduce class Java Reduce类
-writer Java RecordWriter
-program executable 可执行文件URI
-reduces num Reduce任务数量

queue

用于交互和查看作业队列信息的命令

用法:mapred queue [-list] | [-info [-showJobs]] | [-showacls]

COMMAND_OPTION 描述
-list 获取系统中配置的作业队列列表,以及与作业队列关联的调度信息。
-info job-queue-name [-showJobs] Displays the job queue information and associated scheduling information of particular job queue. If -showJobs options is present a list of jobs submitted to the particular job queue is displayed.
-showacls 显示当前用户允许访问的队列名称及相关队列操作。该列表仅包含用户有权访问的队列。

version

打印版本信息。

用法:mapred version

envvars

用法:mapred envvars

显示计算出的Hadoop环境变量。

successfile

Manifest Committer或S3A Committer加载并打印JSON _SUCCESS文件

管理命令

对hadoop集群管理员有用的命令。

historyserver

启动JobHistoryServer。

用法:mapred historyserver

hsadmin

运行一个MapReduce hsadmin客户端来执行JobHistoryServer管理命令。

用法:mapred hsadmin [-refreshUserToGroupsMappings] | [-refreshSuperUserGroupsConfiguration] | [-refreshAdminAcls] | [-refreshLoadedJobCache] | [-refreshLogRetentionSettings] | [-refreshJobRetentionSettings] | [-getGroups [username]] | [-help [cmd]]

COMMAND_OPTION 描述
-refreshUserToGroupsMappings 刷新用户到用户组的映射关系
-refreshSuperUserGroupsConfiguration 刷新超级用户代理组映射配置
-refreshAdminAcls 刷新Job history server的管理ACL权限
-refreshLoadedJobCache 刷新Job history server已加载的作业缓存
-refreshJobRetentionSettings 刷新作业历史保留周期和作业清理器设置
-refreshLogRetentionSettings 刷新日志保留周期和日志保留检查间隔
-getGroups [username] 获取指定用户所属的组
-help [cmd] 显示给定命令的帮助信息,如果未指定命令则显示所有命令的帮助。

frameworkuploader

收集框架jar包并将其作为压缩包上传到HDFS。

用法:mapred frameworkuploader -target [-fs ] [-input ] [-blacklist ] [-whitelist ] [-initialReplication ] [-acceptableReplication ] [-finalReplication ] [-timeout ] [-nosymlink]

COMMAND_OPTION 描述
-input classpath 这是用于搜索要包含在tarball中的jar文件的输入类路径。
-fs filesystem 目标文件系统。默认为fs.defaultFS设置的默认文件系统。
-target target 这是框架压缩包的目标位置,可选择性地在后面加上#和本地化别名。例如/usr/lib/framework.tar#framework。请确保目标目录对所有用户可读,但除管理员外其他用户不可写,以保护集群安全。
-blacklist list 这是一个用逗号分隔的正则表达式数组,用于过滤要从类路径中排除的jar文件名。例如,可用于排除测试jar或不需本地化的Hadoop服务。
-whitelist list 这是一个逗号分隔的正则表达式数组,用于包含特定的jar文件。这可用于提供额外的安全性,确保在工具运行时没有外部来源能在类路径中包含恶意代码。
-nosymlink This flag can be used to exclude symlinks that point to the same directory. This is not widely used. For example, /a/foo.jar and a symlink /a/bar.jar that points to /a/foo.jar would normally add foo.jar and bar.jar to the tarball as separate files despite them actually being the same file. This flag would make the tool exclude /a/bar.jar so only one copy of the file is added.
-initialReplication num 这是框架压缩包创建时使用的副本数。保持默认值3是安全的,这是经过测试的场景。
-finalReplication num 上传工具会在所有数据块收集并上传完成后设置副本数。如果需要快速初始启动,建议将此值设置为已部署节点数除以二,但不超过512。
-acceptableReplication num The tool will wait until the tarball has been replicated this number of times before exiting. This should be a replication count less than or equal to the value in finalReplication. This is typically a 90% of the value in finalReplication to accomodate failing nodes.
-timeout seconds A timeout in seconds to wait to reach acceptableReplication before the tool exits. The tool logs an error otherwise and returns.