YARN コマンド

概要

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

使用方法: yarn [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [SUB_COMMAND] [COMMAND_OPTIONS]

YARN は、汎用オプションの解析と実行クラスの実行を行うオプション解析フレームワークを採用しています。

COMMAND_OPTIONS 説明
SHELL_OPTIONS 一般的なシェルオプションのセットです。これらについては、コマンドマニュアルページに記載されています。
GENERIC_OPTIONS 複数のコマンドでサポートされている一般的なオプションのセットです。詳細については、Hadoop コマンドマニュアルを参照してください。
COMMAND COMMAND_OPTIONS さまざまなコマンドとそのオプションについては、以降のセクションで説明します。コマンドは、ユーザーコマンド管理コマンドに分類されています。

ユーザーコマンド

Hadoop クラスタのユーザーにとって便利なコマンドです。

application または app

使用方法: yarn application [options] 使用方法: yarn app [options]

COMMAND_OPTIONS 説明
-appId <ApplicationId> 操作するアプリケーションIDを指定します。
-appStates <States> -list と共に使用して、入力されたコンマ区切りのアプリケーション状態のリストに基づいてアプリケーションをフィルタリングします。有効なアプリケーション状態は次のいずれかです。 ALL、NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED
-appTags <Tags> -list と共に使用して、入力されたコンマ区切りのアプリケーションタグのリストに基づいてアプリケーションをフィルタリングします。
-appTypes <Types> -list と共に使用して、入力されたコンマ区切りのアプリケーションタイプのリストに基づいてアプリケーションをフィルタリングします。
-changeQueue <Queue Name> アプリケーションを新しいキューに移動します。ApplicationId は「appId」オプションを使用して渡すことができます。「movetoqueue」コマンドは非推奨であり、この新しい「changeQueue」コマンドが同じ機能を実行します。
-component <Component Name> <Count> -flex オプションと共に使用して、アプリケーション/長時間実行サービスで実行されているコンポーネント/コンテナの数を変更します。+1、2、-3など、絶対的または相対的な変更をサポートします。
-components <Components> -upgrade オプションと共に使用して、アプリケーションの指定されたコンポーネントのアップグレードをトリガーします。複数のコンポーネントはコンマで区切る必要があります。
-decommission <Application Name> アプリケーション/長時間実行サービスのコンポーネントインスタンスをデコミッションします。-instances オプションが必要です。-appTypes オプションを使用して、使用するクライアント実装を指定できます。appType に対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-destroy <Application Name> 保存されたアプリケーションの仕様を破棄し、すべてのアプリケーションデータを完全に削除します。-appTypes オプションを使用して、使用するクライアント実装を指定できます。appType に対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-enableFastLaunch AM 依存関係を HDFS にアップロードして、将来の起動を高速化します。-appTypes オプションを使用して、使用するクライアント実装を指定できます。appType に対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-flex <Application Name or ID> アプリケーション/長時間実行サービスのコンポーネントの実行中のコンテナの数を変更します。-component オプションが必要です。名前が指定されている場合、デフォルトの yarn-service でない限り、appType を指定する必要があります。ID が指定されている場合、appType は検索されます。-appTypes オプションを使用して、使用するクライアント実装を指定できます。appType に対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-help すべてのコマンドのヘルプを表示します。
-instances <Component Instances> -upgrade オプションと共に使用して、アプリケーションの指定されたコンポーネントインスタンスのアップグレードをトリガーします。-decommission オプションと共に使用して、指定されたコンポーネントインスタンスをデコミッションすることもできます。複数のインスタンスはコンマで区切る必要があります。
-kill <Application ID> アプリケーションをキルします。アプリケーションのセットはスペースで区切って提供できます。
-launch <Application Name> <File Name> 仕様ファイルからアプリケーションを起動します(仕様を保存してアプリケーションを開始します)。-updateLifetime オプションと -changeQueue オプションを指定して、ファイルに指定された値を変更できます。-appTypes オプションを使用して、使用するクライアント実装を指定できます。appType に対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-list アプリケーションをリストします。-appTypes を使用してアプリケーションタイプに基づいてアプリケーションをフィルタリングしたり、-appStates を使用してアプリケーション状態に基づいてアプリケーションをフィルタリングしたり、-appTags を使用してアプリケーションタグに基づいてアプリケーションをフィルタリングしたりできます。
-movetoqueue <Application ID> アプリケーションを別のキューに移動します。非推奨のコマンドです。「changeQueue」を使用してください。
-queue <Queue Name> movetoqueue コマンドと共に使用して、アプリケーションを移動するキューを指定します。
-save <Application Name> <File Name> アプリケーションの仕様ファイルを保存します。-updateLifetime オプションと -changeQueue オプションを指定して、ファイルに指定された値を変更できます。-appTypes オプションを使用して、使用するクライアント実装を指定できます。appType に対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-start <Application Name> 以前に保存したアプリケーションを開始します。-appTypes オプションを使用して、使用するクライアント実装を指定できます。appType に対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-status <ApplicationId or ApplicationName> アプリケーションのステータスを出力します。アプリIDが指定されている場合、一般的なYARNアプリケーションステータスを出力します。名前が指定されている場合、アプリ独自のインプリメンテーションに基づいてアプリケーション固有のステータスを出力し、デフォルトのyarn-serviceタイプでない限り、-appTypesオプションを指定する必要があります。appTypeに対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-stop <Application Name or ID> アプリケーションを正常に停止します(後で再開できます)。名前を指定する場合は、それがデフォルトのyarn-serviceでない限り、appTypeも指定する必要があります。IDを指定する場合は、appTypeが検索されます。どのクライアント実装を使用するかを指定するために-appTypesオプションをサポートしています。appTypeに対応するフレームワークが、この特定の機能を処理するための適切なクライアント実装を提供していることを確認してください。
-updateLifetime <タイムアウト> アプリケーションのタイムアウトをNOWから更新します。ApplicationIdは「appId」オプションを使用して渡すことができます。タイムアウト値は秒単位です。
-updatePriority <優先度> アプリケーションの優先度を更新します。「appId」オプションを使用してApplicationIdを渡すことができます。

アプリケーションのレポートを出力/アプリケーションをキル/長時間実行中のアプリケーションを管理します

applicationattempt

使用方法: yarn applicationattempt [オプション]

COMMAND_OPTIONS 説明
-help ヘルプ
-list <ApplicationId> 指定されたアプリケーションのアプリケーション試行をリストします。
-status <Application Attempt Id> アプリケーション試行のステータスを出力します。

アプリケーション試行のレポートを出力します

classpath

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

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

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

container

使用方法: yarn container [オプション]

COMMAND_OPTIONS 説明
-help ヘルプ
-list <Application Attempt Id> アプリケーション試行のコンテナをリストします。
-status <ContainerId> コンテナのステータスを出力します。

コンテナのレポートを出力します

jar

使用方法: yarn jar <jar> [mainClass] args...

jarファイルを実行します。ユーザーはYARNコードをjarファイルにバンドルし、このコマンドを使用して実行できます。

logs

使用方法: yarn logs -applicationId <アプリケーションID> [オプション]

COMMAND_OPTIONS 説明
-applicationId <アプリケーションID> アプリケーションIDを指定します
-appOwner <AppOwner> AppOwner(指定されていない場合は現在のユーザーとみなされます)
-containerId <ContainerId> ContainerId(ノードアドレスが指定されている場合は指定する必要があります)
-help ヘルプ
-nodeAddress <NodeAddress> ノード名:ポート形式のNodeAddress(コンテナIDが指定されている場合は指定する必要があります)

コンテナログを出力します

node

使用方法: yarn node [オプション]

COMMAND_OPTIONS 説明
-all -listと共に使用して、すべてのノードをリストします。
-list 実行中のすべてのノードをリストします。ノードの状態に基づいてノードをフィルタリングするための-statesのオプションの使用と、すべてのノードをリストするための-allをサポートしています。
-states <状態> -listと共に使用して、入力されたコンマ区切りのノード状態リストに基づいてノードをフィルタリングします。
-status <NodeId> ノードのステータスレポートを出力します。

ノードレポートを出力します

queue

使用方法: yarn queue [オプション]

COMMAND_OPTIONS 説明
-help ヘルプ
-status <QueueName> キューのステータスを出力します。

キュー情報を表示します

version

使用方法: yarn version

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

envvars

使用方法: yarn envvars

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

管理コマンド

Hadoopクラスタの管理者にとって便利なコマンドです。

daemonlog

デーモンで修飾クラス名によって識別されるログのログレベルを動的に取得/設定します。詳細については、Hadoopのコマンドマニュアルを参照してください。

nodemanager

使用方法: yarn nodemanager

NodeManagerを起動します

proxyserver

使用方法: yarn proxyserver

Webプロキシサーバーを起動します

resourcemanager

使用方法: yarn resourcemanager [-format-state-store]

COMMAND_OPTIONS 説明
-format-state-store RMStateStoreをフォーマットします。これによりRMStateStoreがクリアされ、過去のアプリケーションが不要になった場合に役立ちます。ResourceManagerが実行されていない場合にのみ実行する必要があります。
-remove-application-from-state-store <appId> RMStateStoreからアプリケーションを削除します。ResourceManagerが実行されていない場合にのみ実行する必要があります。
-format-conf-store YarnConfigurationStoreをフォーマットします。これにより、YarnConfigurationStoreの下に永続化されたスケジューラ構成がクリアされます。ResourceManagerが実行されていない場合にのみ実行する必要があります。
-convert-fs-configuration [-y|yarnsiteconfig] [-f|fsconfig] [-r|rulesconfig] [-o|output-directory] [-p|print] [-c|cluster-resource] 警告:この機能は実験的なものであり、本番環境での使用を目的としたものではありません!開発はまだ進行中であるため、コンバーターは完全なものとは見なせません!
指定されたFair Scheduler構成をCapacity Scheduler構成に変換します。2つの必須入力ファイルが必要です。まず、次の形式のyarn-site.xml:[-y|yarnsiteconfig [<yarn-site.xmlファイルへのパス>]]。次に、次の形式のfair-scheduler.xml:[-f|fsconfig [<fair-scheduler.xmlファイルへのパス>]]。プロパティ「yarn.scheduler.fair.allocation.file」でfair-scheduler.xmlへの参照がyarn-site.xmlにある場合、この構成は必須ではありません。両方が定義されている場合、-fオプションが優先されます。構成ファイルの出力ディレクトリも次のように指定する必要があります:[-o|output-directory\ <ディレクトリ>]。オプションのルール構成ファイルも、次の形式で指定できます:[-r|rulesconfig <変換ルールファイルへのパス>]。ルール構成ファイルの形式はプロパティファイルです。オプションの[-p|print]パラメーターもあります。定義されている場合、構成はコンソールに出力されます。通常の動作では、このコマンドの出力ファイル(yarn-site.xmlとcapacity-scheduler.xml)は、指定された出力ディレクトリに生成されます。クラスタリソースパラメーター([-c|cluster-resource] <リソース>])は、キューのmaxResources設定の値がパーセンテージである場合に指定する必要があります。リソース文字列の形式は、fair-scheduler.xmlと同じです。)

ResourceManagerを起動します

rmadmin

使用方法

  Usage: yarn rmadmin
     -refreshQueues
     -refreshNodes [-g|graceful [timeout in seconds] -client|server]
     -refreshNodesResources
     -refreshSuperUserGroupsConfiguration
     -refreshUserToGroupsMappings
     -refreshAdminAcls
     -refreshServiceAcl
     -getGroups [username]
     -addToClusterNodeLabels <"label1(exclusive=true),label2(exclusive=false),label3">
     -removeFromClusterNodeLabels <label1,label2,label3> (label splitted by ",")
     -replaceLabelsOnNode <"node1[:port]=label1,label2 node2[:port]=label1,label2"> [-failOnUnknownNodes]
     -directlyAccessNodeLabelStore
     -refreshClusterMaxPriority
     -updateNodeResource [NodeID] [MemSize] [vCores] ([OvercommitTimeout]) or -updateNodeResource [NodeID] [ResourceTypes] ([OvercommitTimeout])
     -transitionToActive [--forceactive] <serviceId>
     -transitionToStandby <serviceId>
     -getServiceState <serviceId>
     -getAllServiceState
     -checkHealth <serviceId>
     -help [cmd]
COMMAND_OPTIONS 説明
-refreshQueues キューのACL、状態、およびスケジューラ固有のプロパティをリロードします。ResourceManagerはmapred-queues構成ファイルをリロードします。
-refreshNodes [-g|graceful [タイムアウト(秒)] -client|server] ResourceManagerでホスト情報を更新します。ここで[-g|graceful [タイムアウト(秒)] -client|server]はオプションです。タイムアウトを指定した場合、ResourceManagerはNodeManagerを廃止済みとしてマークする前にタイムアウトを待ちます。-client|serverは、タイムアウトトラッキングをクライアントとResourceManagerのどちらで処理するべきかを示します。クライアント側のトラッキングはブロックされますが、サーバー側のトラッキングはブロックされません。タイムアウトを省略するか、タイムアウトを-1にすると、無限のタイムアウトを示します。既知の問題:RM HAフェイルオーバーが発生した場合、サーバー側のトラッキングはすぐに廃止済みとしてマークします。
-refreshNodesResources ResourceManagerでNodeManagerのリソースを更新します。
-refreshSuperUserGroupsConfiguration スーパーユーザーのプロキシグループマッピングを更新します。
-refreshUserToGroupsMappings ユーザーからグループへのマッピングを更新します。
-refreshAdminAcls ResourceManagerの管理に関するACLを更新します
-refreshServiceAcl サービスレベルの承認ポリシーファイルをリロードします。ResourceManagerは承認ポリシーファイルをリロードします。
-getGroups [ユーザー名] 指定されたユーザーが属するグループを取得します。
-addToClusterNodeLabels <“label1(exclusive=true),label2(exclusive=false),label3”> クラスタノードラベルに追加します。デフォルトの排他性はtrueです。
-removeFromClusterNodeLabels <label1,label2,label3> (ラベルは「,」で区切られます) クラスタノードラベルから削除します。
-replaceLabelsOnNode <“node1[:port]=label1,label2 node2[:port]=label1,label2”> [-failOnUnknownNodes] ノードのラベルを置き換えます(現時点では、単一ホストに複数のラベルを指定することはサポートしていません)。-failOnUnknownNodesはオプションです。このオプションを設定すると、指定されたノードが不明な場合に失敗します。
-directlyAccessNodeLabelStore これは非推奨であり、将来のリリースで削除されます。ノードラベルストアに直接アクセスします。このオプションを使用すると、すべてのノードラベル関連の操作はRMに接続しません。代わりに、保存されているノードラベルに直接アクセス/変更します。デフォルトではfalseです(RM経由でアクセスします)。また、yarn.node-labels.fs-store.root-dirをローカルディレクトリ(NFSまたはHDFSではなく)に構成した場合、このオプションはRMが実行されているマシンでコマンドを実行した場合にのみ機能します。
-refreshClusterMaxPriority クラスタの最大優先順位を更新します
-updateNodeResource [NodeID] [MemSize] [vCores] ([OvercommitTimeout]) 特定のノードのリソースを更新します。
-updateNodeResource [NodeID] [ResourceTypes] ([OvercommitTimeout]) 特定のノードのリソースタイプを更新します。Resource Typesは、ResourceManagerで使用可能なリソースのコンマ区切りのキーバリューペアです。例:memory-mb=1024Mi,vcores=1,resource1=2G,resource2=4m
-transitionToActive [–forceactive] [–forcemanual] <serviceId> サービスをアクティブ状態に移行します。アクティブなノードがないことを確認せずにターゲットをアクティブにしようとします(–forceactiveオプションを使用した場合)。自動フェイルオーバーが有効になっている場合は、このコマンドを使用できません。ただし、–forcemanualオプションでこれをオーバーライドできますが、注意が必要です。自動フェイルオーバーが有効になっている場合は、このコマンドを使用できません。
-transitionToStandby [–forcemanual] <serviceId> サービスをスタンバイ状態に移行します。自動フェイルオーバーが有効になっている場合は、このコマンドを使用できません。ただし、–forcemanualオプションでこれをオーバーライドできますが、注意が必要です。
-getServiceState <serviceId> サービスの状態を返します。
-getAllServiceState すべてのサービスの状態を返します。
-checkHealth <serviceId> サービスにヘルスチェックの実行を要求します。チェックが失敗した場合、RMAdminツールはゼロ以外の終了コードで終了します。
-help [cmd] 指定されたコマンドのヘルプ、またはコマンドが指定されていない場合はすべてのコマンドのヘルプを表示します。

ResourceManager管理クライアントを実行します

schedulerconf

使用方法: yarn schedulerconf [オプション]

COMMAND_OPTIONS 説明
-add <“queuePath1:key1=val1,key2=val2;queuePath2:key3=val3”> 追加するキューとそのキュー構成のセミコロン区切りの値。この例では、キュー構成key1=val1とkey2=val2を持つキュー「queuePath1」(完全なパス名)を追加します。また、キュー構成key3=val3を持つキュー「queuePath2」も追加します。
-remove <“queuePath1;queuePath2”> 削除するセミコロン区切りのキュー。この例では、queuePath1とqueuePath2キュー(完全なパス名)を削除します。**注:**キューは削除する前に `STOPPED` 状態にする必要があります。
-update <“queuePath1:key1=val1,key2=val2;queuePath2:key3=val3”> 構成を更新する必要があるキューのセミコロン区切りの値。この例では、queuePath1(完全なパス名)のキュー構成に対してkey1=val1とkey2=val2を設定し、queuePath2のキュー構成に対してkey3=val3を設定します。
-global <key1=val1,key2=val2> スケジューラのグローバル構成を更新します。この例では、スケジューラのグローバル構成に対してkey1=val1とkey2=val2を設定します。

スケジューラ構成を更新します。注:この機能はアルファ段階であり、変更される可能性があります。

scmadmin

使用方法: yarn scmadmin [オプション]

COMMAND_OPTIONS 説明
-help ヘルプ
-runCleanerTask クリーナタスクを実行します。

Shared Cache Manager管理クライアントを実行します。

sharedcachemanager

使用方法: yarn sharedcachemanager

Shared Cache Managerを起動します。

timelineserver

使用方法: yarn timelineserver

TimeLineServerを起動します。

registrydns

使用方法: yarn registrydns

RegistryDNSサーバーを起動します。

ファイル

ファイル 説明
etc/hadoop/hadoop-env.sh このファイルには、すべてのHadoopシェルコマンドで使用されるグローバル設定が格納されています。
etc/hadoop/yarn-env.sh このファイルには、すべてのYARNシェルコマンドで使用されるオーバーライドが格納されています。
etc/hadoop/hadoop-user-functions.sh このファイルにより、上級ユーザーは一部のシェル機能をオーバーライドできます。
~/.hadooprc 個々のユーザーの個人環境を格納します。hadoop-env.shhadoop-user-functions.shyarn-env.shファイルの後に処理され、同じ設定を含めることができます。