クラスターのスケールダウンオプション - Amazon EMR

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

クラスターのスケールダウンオプション

注記

Amazon EMRリリース 5.10.0 以降、スケールダウン動作オプションはサポートされなくなりました。Amazon では秒単位の請求が導入されているためEC2、Amazon EMRクラスターのデフォルトのスケールダウン動作はタスクの完了時に終了します。

Amazon EMRリリース 5.1.0 から 5.9.1 では、スケールダウン動作には、Amazon EC2請求のインスタンス時間の境界で終了するか、タスクの完了時に終了するかの 2 つのオプションがあります。Amazon EMRリリース 5.10.0 以降、Amazon での秒単位の請求の導入により、インスタンス時間境界での終了設定は廃止されましたEC2。このオプションが使用できないバージョンでは、インスタンス時間の境界での終了を指定することはお勧めされていません。

警告

を使用する場合 AWS CLI modify-instance-groups で を発行するにはEC2InstanceIdsToTerminate、これらのインスタンスは、これらの設定を考慮せずに、実行中のアプリケーションのステータスに関係なく、すぐに終了します。この方法でインスタンスを削除すると、データ損失や、予測不可能なクラスター動作が発生する可能性があります。

タスク完了時に終了を指定すると、Amazon EC2インスタンスを終了する前に、Amazon EMR拒否はノードからタスクを一覧表示してドレインします。どちらの動作を指定しても、Amazon EMRはコアEC2インスタンスグループの Amazon HDFS インスタンスを破損につながる可能性がある場合、終了しません。

タスクの完了時に終了

Amazon EMRでは、ワークロードに影響を与えずにクラスターをスケールダウンできます。Amazon はYARN、サイズ変更オペレーション中に、データが失われたりジョブを中断したりすることなくHDFS、コアノードとタスクノードの 、、およびその他のデーモンをEMR正常に廃止します。Amazon は、グループに割り当てられた作業が完了し、アイドル状態の場合にのみ、インスタンスグループのサイズEMRを減らします。YARN NodeManager グレースフル廃止では、ノードが廃止を待機する時間を手動で調整できます。

この時間は、YARN-site 設定分類のプロパティを使用して設定します。Amazon EMRリリース 5.12.0 以降を使用して、 YARN.resourcemanager.nodemanager-graceful-decommission-timeout-secsプロパティを指定します。以前の Amazon EMRリリースを使用して、 YARN.resourcemanager.decommissioning.timeoutプロパティを指定します。

廃止タイムアウトが経過してもコンテナまたはYARNアプリケーションがまだ実行されている場合、ノードは強制的に廃止され、影響を受けるコンテナが他のノードでYARN再スケジュールされます。デフォルト値は 3,600 秒 (1 時間) です。このタイムアウトを任意の高い値に設定することで、グレースフルな縮小を強制的に行い、長い時間待機させることができます。詳細については、Apache Hadoop ドキュメントのYARN「ノードのグレースフルな廃止」を参照してください。

タスクノードグループ

Amazon は、ステップまたはアプリケーションに対して実行されているタスクがないインスタンスをEMRインテリジェントに選択し、それらのインスタンスを最初にクラスターから削除します。クラスター内のすべてのインスタンスが使用中の場合、Amazon はインスタンスでタスクが完了するのをEMR待ってからクラスターから削除します。デフォルトの待機時間は 1 時間です。この値は YARN.resourcemanager.decommissioning.timeout 設定で変更できます。Amazon は新しい設定をEMR動的に使用します。これを任意の大きな数値に設定して、クラスターサイズを縮小しながら Amazon がタスクを終了EMRしないようにすることができます。

コアノードグループ

コアノードでは、インスタンスグループを減らすために、 YARN NodeManager と HDFS DataNode デーモンの両方を廃止する必要があります。の場合YARN、適切な削減により、廃止対象としてマークされたノードは、保留中または不完全なコンテナまたはアプリケーションがない場合にのみ DECOMMISSIONED状態に移行されます。停止作業開始時においてノードでコンテナーが実行されていない場合、停止作業は即終了します。

の場合HDFS、適切な削減により、 のターゲット容量HDFSが既存のすべてのブロックに適合するのに十分な大きさになります。ターゲット容量が十分に大きくない場合、残りのノードが にある現在のデータを処理できるように、コアインスタンスの一部のみが廃止されますHDFS。さらなる廃止を許可するには、追加のHDFS容量を確保する必要があります。また、インスタンスグループの削減を試みる前に、書き込み I/O を最小限に抑えるようにしてください。書き込み I/O が多すぎると、サイズ変更操作の完了が遅れる可能性があります。

もう 1 つの制限は、デフォルトのレプリケーション係数です。dfs.replication内部/etc/hadoop/conf/hdfs-site。クラスターを作成すると、Amazon はクラスター内のインスタンス数に基づいて値EMRを設定します。1~3 個のインスタンス1の場合、4~9 個のインスタンスを持つクラスター2の場合、10 個以上のインスタンスを持つクラスター3の場合です。

警告
  1. ノードが 4 つ未満のクラスターで を 1 dfs.replicationに設定すると、1 つのノードがダウンするとHDFSデータが失われる可能性があります。本番環境のワークロードには、少なくとも 4 つのコアノードを持つクラスターを使用することをお勧めします。

  2. Amazon EMR では、クラスターがコアノードを 未満にスケーリングすることはできませんdfs.replication。例えば、dfs.replication = 2 の場合、コアノードの最小数は 2 です。

  3. マネージドスケーリングや自動スケーリングを使用する場合や、クラスターのサイズを手動で変更する場合は、dfs.replication を 2 以上に設定することをお勧めします。

適切な削減では、コアノードをHDFSレプリケーション係数未満に減らすことはできません。これは、レプリカが不十分なために HDFSがファイルを閉じることができるようにするためです。この制限を回避するには、レプリケーション係数を下げてNameNode デーモンを再起動します。