MapReduceコマンドガイド

概要

すべてのmapreduceコマンドは、bin/mapredスクリプトによって呼び出されます。 引数なしでmapredスクリプトを実行すると、すべてのコマンドの説明が出力されます。

使用方法: mapred [シェルオプション] コマンド [汎用オプション] [コマンドオプション]

Hadoopには、汎用オプションの解析とクラスの実行を行うオプション解析フレームワークがあります。

コマンドオプション 説明
シェルオプション シェルオプションの共通セット。 これらは、Hadoopコマンドリファレンスページに記載されています。
汎用オプション 複数のコマンドでサポートされている共通のオプションセット。 詳細については、Hadoopコマンドリファレンスを参照してください。
コマンド コマンドオプション さまざまなコマンドとそのオプションについては、以下のセクションで説明します。 コマンドは、ユーザーコマンド管理コマンドにグループ化されています。

ユーザーコマンド

Hadoopクラスタのユーザーに役立つコマンド。

archive

Hadoopアーカイブを作成します。 詳細については、Hadoopアーカイブガイドを参照してください。

archive-logs

YARNの集約ログをHadoopアーカイブに結合して、HDFSのファイル数を削減するためのツール。 詳細については、Hadoopアーカイブログガイドを参照してください。

classpath

使用方法: yarn classpath [--glob |--jar <パス> |-h |--help]

コマンドオプション 説明
--glob ワイルドカードを展開する
--jar パス クラスパスを*パス*という名前のjarにマニフェストとして書き込む
-h--help ヘルプを表示する

Hadoop jarと必要なライブラリを取得するために必要なクラスパスを出力します。 引数なしで呼び出された場合、コマンドスクリプトによって設定されたクラスパスが出力されます。これには、クラスパスエントリにワイルドカードが含まれている可能性があります。 追加オプションは、ワイルドカード展開後のクラスパスを出力するか、クラスパスをjarファイルのマニフェストに書き込みます。 後者は、ワイルドカードを使用できず、展開されたクラスパスがサポートされているコマンドラインの最大長を超える環境で役立ちます。

distcp

ファイルまたはディレクトリを再帰的にコピーします。 詳細については、Hadoop DistCpガイドを参照してください。

job

Map Reduceジョブと対話するためのコマンド。

使用方法: mapred job | [汎用オプション] | [-submit <ジョブファイル>] | [-status <ジョブID>] | [-counter <ジョブID> <グループ名> <カウンター名>] | [-kill <ジョブID>] | [-events <ジョブID> <開始イベント番号> <イベント数>] | [-history [all] <ジョブ履歴ファイル|ジョブID> [-outfile <ファイル>] [-format <human|json>]] | [-list [all]] | [-kill-task <タスクID>] | [-fail-task <タスクID>] | [-set-priority <ジョブID> <優先度>] | [-list-active-trackers] | [-list-blacklisted-trackers] | [-list-attempt-ids <ジョブID> <タスクタイプ> <タスク状態>] [-logs <ジョブID> <タスク試行ID>] [-config <ジョブID> <ファイル>]

コマンドオプション 説明
-submit ジョブファイル ジョブを送信します。
-status ジョブID マップとreduceの完了率とすべてのジョブカウンターを出力します。
-counter ジョブID グループ名 カウンター名 カウンター値を出力します。
-kill ジョブID ジョブを強制終了します。
-events ジョブID 開始イベント番号 イベント数 指定された範囲のjobtrackerによって受信されたイベントの詳細を出力します。
-history [all] ジョブ履歴ファイル|ジョブID [-outfile ファイル] [-format human|json] ジョブの詳細、失敗したタスクと強制終了されたタスクの詳細を出力します。 [all]オプションを指定することにより、成功したタスク、各タスクに対して行われたタスクの試行、タスクカウンターなど、ジョブに関する詳細を表示できます。 オプションのファイル出力パス(stdoutの代わりに)を指定できます。 フォーマットはデフォルトで人間が読める形式ですが、[-format]オプションを使用してJSONに変更することもできます。
-list [all] まだ完了していないジョブを表示します。 -list allはすべてのジョブを表示します。
-kill-task タスクID タスクを強制終了します。 強制終了されたタスクは、失敗した試行回数にはカウントされません。
-fail-task タスクID タスクを失敗させます。 失敗したタスクは、失敗した試行回数にカウントされます。
-set-priority ジョブID 優先度 ジョブの優先度を変更します。 許可される優先度の値は、VERY_HIGH、HIGH、NORMAL、LOW、VERY_LOWです。
-list-active-trackers クラスタ内のすべてのアクティブなNodeManagerを一覧表示します。タスクトラッカーは非推奨であり、NodeManagerに置き換えられました。
-list-blacklisted-trackers クラスタ内のブラックリストに登録されているタスクトラッカーを一覧表示します。 このコマンドは、MRv2ベースのクラスタではサポートされていません。タスクトラッカーは非推奨であり、NodeManagerに置き換えられました。
-list-attempt-ids ジョブID タスクタイプ タスク状態 指定されたタスクタイプと状態に基づいて、試行IDを一覧表示します。 task-typeの有効な値はREDUCE、MAPです。 task-stateの有効な値は、running、pending、completed、failed、killedです。
-logs ジョブID タスク試行ID taskAttemptIdが指定されていない場合はジョブのコンテナログをダンプし、それ以外の場合は指定されたtaskAttemptIdを持つタスクのログをダンプします。 ログはシステム出力にダンプされます。
-config ジョブID ファイル ジョブ構成ファイルをダウンロードします。

pipes

pipesジョブを実行します。

使用方法: mapred pipes [-conf <パス>] [-jobconf <キー=値>, <キー=値>, ...] [-input <パス>] [-output <パス>] [-jar <jarファイル>] [-inputformat <クラス>] [-map <クラス>] [-partitioner <クラス>] [-reduce <クラス>] [-writer <クラス>] [-program <実行可能ファイル>] [-reduces <数>]

コマンドオプション 説明
-conf パス ジョブの構成
-jobconf キー=値キー=値、… ジョブの構成を追加/上書きする
-input パス 入力ディレクトリ
-output パス 出力ディレクトリ
-jar jarファイル Jarファイル名
-inputformat クラス InputFormatクラス
-map クラス Java Mapクラス
-partitioner クラス Java Partitioner
-reduce クラス Java Reduceクラス
-writer クラス Java RecordWriter
-program 実行可能ファイル 実行可能ファイルのURI
-reduces reduceの数

queue

ジョブキュー情報と対話して表示するためのコマンド

使用方法: mapred queue [-list] | [-info <ジョブキュー名> [-showJobs]] | [-showacls]

コマンドオプション 説明
-list システムで構成されているジョブキューのリストを取得します。 ジョブキューに関連付けられたスケジューリング情報と共に。
-info ジョブキュー名 [-showJobs] 特定のジョブキューのジョブキュー情報と関連するスケジューリング情報を表示します。 -showJobsオプションが存在する場合、特定のジョブキューに送信されたジョブのリストが表示されます。
-showacls 現在のユーザーに許可されているキュー名と関連するキュー操作を表示します。 リストには、ユーザーがアクセスできるキューのみが含まれます。

version

バージョンを出力します。

使用方法: mapred version

envvars

使用方法: `mapred envvars`

計算されたHadoop環境変数を表示します。

管理コマンド

Hadoopクラスタの管理者に役立つコマンド。

historyserver

JobHistoryServerを起動します。

使用方法: mapred historyserver

hsadmin

JobHistoryServer管理コマンドを実行するためのMapReduce hsadminクライアントを実行します。

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

コマンドオプション 説明
-refreshUserToGroupsMappings ユーザーとグループのマッピングを更新します。
-refreshSuperUserGroupsConfiguration スーパーユーザーのプロキシグループマッピングを更新します。
-refreshAdminAcls ジョブ履歴サーバーの管理用ACLを更新します。
-refreshLoadedJobCache ジョブ履歴サーバーのロード済みジョブキャッシュを更新します。
-refreshJobRetentionSettings ジョブ履歴期間、ジョブクリーナーの設定を更新します。
-refreshLogRetentionSettings ログ保存期間とログ保存チェック間隔を更新します。
-getGroups [username] 指定されたユーザーが属するグループを取得します。
-help [cmd] 指定されたコマンドのヘルプを表示します。コマンドが指定されていない場合は、すべてのコマンドのヘルプを表示します。

frameworkuploader

フレームワークJARを収集し、tarballとしてHDFSにアップロードします。

使用方法: mapred frameworkuploader -target <target> [-fs <filesystem>] [-input <classpath>] [-blacklist <list>] [-whitelist <list>] [-initialReplication <num>] [-acceptableReplication <num>] [-finalReplication <num>] [-timeout <seconds>] [-nosymlink]

コマンドオプション 説明
-input classpath tarballに含めるjarファイルを検索する入力クラスパスです。
-fs filesystem ターゲットファイルシステムです。デフォルトはfs.defaultFSで設定されたデフォルトのファイルシステムです。
-target target フレームワークtarballのターゲットの場所です。オプションで、#の後にローカライズされたエイリアスを付けることができます。例:/usr/lib/framework.tar#framework。ターゲットディレクトリはすべてのユーザーが読み取り可能であることを確認してください。ただし、クラスタのセキュリティを保護するために、管理者以外のユーザーは書き込みできないようにしてください。
-blacklist list クラスパスから除外するjarファイル名をフィルタリングするための、カンマ区切りの正規表現の配列です。たとえば、テストjarや、ローカライズする必要のないHadoopサービスを除外するために使用できます。
-whitelist list 特定のjarファイルを含めるための、カンマ区切りの正規表現の配列です。ツールの実行時に外部ソースがクラスパスに悪意のあるコードを含めないようにするために、追加のセキュリティを提供するために使用できます。
-nosymlink 同じディレクトリを指すシンボリックリンクを除外するために使用できるフラグです。これは広く使用されていません。たとえば、`/a/foo.jar` と `/a/foo.jar` を指すシンボリックリンク `/a/bar.jar` は、実際には同じファイルであるにもかかわらず、通常は `foo.jar` と `bar.jar` をtarballに別々のファイルとして追加します。このフラグを使用すると、ツールは `/a/bar.jar` を除外するため、ファイルのコピーが1つだけ追加されます。
-initialReplication num フレームワークtarballの作成時に使用されるレプリケーション数です。この値はデフォルトの3のままにしておくのが安全です。これはテスト済みのシナリオです。
-finalReplication num アップローダーツールは、すべてのブロックが収集され、アップロードされた後にレプリケーションを設定します。迅速な初期起動が必要な場合は、これをコミッションされたノード数の半分に設定することをお勧めしますが、512を超えないようにしてください。
-acceptableReplication num ツールは、tarballがこの回数複製されるまで待ってから終了します。これは、`finalReplication` の値以下のレプリケーション数である必要があります。これは通常、障害のあるノードに対応するために `finalReplication` の値の90%です。
-timeout seconds ツールが終了する前に `acceptableReplication` に到達するまで待機するタイムアウト(秒単位)です。そうでない場合、ツールはエラーをログに記録し、戻ります。