クラスターは NO_SLAVE_ LEFTとコアノード FAILED_BY_ で終了しますMASTER - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クラスターは NO_SLAVE_ LEFTとコアノード FAILED_BY_ で終了しますMASTER

このエラーは通常、削除保護が無効になっており、すべてのコアノードが yarn-site.xml ファイルに対応する yarn-site 設定分類の最大使用率しきい値で指定したディスクストレージ容量を超過したことが原因で発生します。この値のデフォルト値は 90% です。コアノードのディスク使用率が使用率のしきい値を超えると、YARN NodeManager ヘルスサービスはノードを と報告しますUNHEALTHY。この状態にある間、Amazon EMR deny はノードを一覧表示し、そのノードにYARNコンテナを割り当てません。ノードが 45 分間異常のままである場合、Amazon は関連する Amazon EC2インスタンスを終了対象としてEMRマークしますFAILED_BY_MASTER。コアノードに関連付けられたすべての Amazon EC2インスタンスが終了対象としてマークされると、ジョブを実行するリソースがないため、クラスターNO_SLAVE_LEFTは ステータスで終了します。

1 つのコアノードのディスク使用率がしきい値を超えると、連鎖反応が起きる可能性があります。1 つのノードが のためにディスク使用率のしきい値を超えるとHDFS、他のノードもしきい値に近い可能性があります。最初のノードがディスク使用率のしきい値を超えているため、Amazon EMR 拒否によって一覧表示されます。これにより、拒否リストに登録されたノードで失われたHDFSデータを残りのノード間でレプリケートし始めるため、残りのノードのディスク使用率の負担が増大します。その後、各ノードも同じように UNHEALTHY の状態になり、最終的にはクラスターが終了します。

ベストプラクティスとレコメンデーション

クラスターハードウェアに十分なストレージを設定する

クラスターを作成するときは、十分なコアノードがあり、それぞれに 用の適切なインスタンスストアとEBSストレージボリュームがあることを確認してくださいHDFS。詳細については、「クラスターに必要なHDFS容量の計算」を参照してください。手動で、または Auto Scaling を使用して既存のインスタンスグループにコアインスタンスを追加することもできます。新しいインスタンスのストレージ設定は、インスタンスグループ内の他のインスタンスと同じになります。詳細については、「クラスターのスケーリングを使用する」を参照してください。

終了保護を有効化する

削除保護を有効にします。このようにして、コアノードが拒否リストに表示されている場合は、 を使用して関連する Amazon EC2インスタンスに接続SSHし、データのトラブルシューティングと復旧を行うことができます。終了保護を有効にする場合、Amazon EMRは Amazon EC2インスタンスを新しいインスタンスに置き換えないことに注意してください。詳細については、「終了保護の使用」を参照してください。

MRUnhealthyNodes CloudWatch メトリクスのアラームを作成する

このメトリクスは、ステータスが UNHEALTHY のノードの数を報告します。これはメトリクス YARN に相当しますmapred.resourcemanager.NoOfUnhealthyNodes。このアラームの通知を設定すれば、45 分のタイムアウトに達する前に異常が発生したノードに関する警告を受け取ることができます。詳細については、「を使用した Amazon EMRメトリクスのモニタリング CloudWatch」を参照してください。

yarn-site を使用して設定を微調整する

以下の設定は、アプリケーションの要件に合わせて調整できます。たとえば、yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage の値を増やすことにより、ノードが UNHEALTHY と報告するディスク使用率のしきい値を上げることができます。

これらの値は、yarn-site 設定分類を使用してクラスターを作成するときに設定できます。詳細については、「Amazon EMRリリースガイド」の「アプリケーションの設定」を参照してください。を使用してコアノードに関連付けられた Amazon EC2インスタンスに接続しSSH、テキストエディタ/etc/hadoop/conf.empty/yarn-site.xmlを使用して に値を追加することもできます。変更を加えたら、次 hadoop-yarn-nodemanager に示すように再起動する必要があります。

重要

NodeManager サービスを再起動すると、クラスターの作成時に yarn-siteが設定分類trueを使用して yarn.nodemanager.recovery.enabled に設定されない限り、アクティブなYARNコンテナは強制終了されます。そのため、yarn.nodemanager.recovery.dir プロパティを使用して、コンテナの状態を保存するディレクトリも指定する必要があります。

sudo /sbin/stop hadoop-yarn-nodemanager sudo /sbin/start hadoop-yarn-nodemanager

現在のyarn-siteプロパティとデフォルト値の詳細については、Apache Hadoop ドキュメントのYARN「デフォルト設定」を参照してください。

プロパティ デフォルト値 説明

yarn.nodemanager.disk-health-checker.interval-ms

120000

ディスクのヘルスチェッカーを実行する頻度 (秒)。

yarn.nodemanagerdisk-health-checker。min-healthy-disks

0.25

が新しいコンテナを起動 NodeManager するために正常でなければならないディスク数の最小割合。これは yarn.nodemanager.local-dirs (デフォルトでは /mnt/yarn Amazon EMR) と yarn.nodemanager.log-dirs (デフォルトでは Amazon mnt/var/log/hadoop-yarn/containersで にシンボリックリンク/var/log/hadoop-yarn/containersされている ) の両方に対応しますEMR。

yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage

90.0

ディスクが異常であるとマークされてから許容されるディス容量使用率の最大パーセンテージ。値の範囲は 0.0~100.0 です。値が 100 以上の場合、 はフルディスク NodeManager をチェックします。これは、yarn-nodemanager.local-dirsyarn.nodemanager.log-dirs に適用されます。

yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb

0

使用するために最低限確保しておく必要があるディスク容量。これは、yarn-nodemanager.local-dirsyarn.nodemanager.log-dirs に適用されます。