複数のプライマリノードを持つ Amazon EMRクラスターを作成する際の考慮事項とベストプラクティス - Amazon EMR

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

複数のプライマリノードを持つ Amazon EMRクラスターを作成する際の考慮事項とベストプラクティス

複数のプライマリノードを持つ Amazon EMRクラスターを作成するときは、次の点を考慮してください。

重要

複数のプライマリノードを持つ高可用性EMRクラスターを起動するには、最新の Amazon EMRリリースを使用することを強くお勧めします。これにより、高可用性クラスターで最高レベルの耐障害性と安定性を得ることができます。

  • インスタンスフリートの高可用性は、Amazon EMRリリース 5.36.1、5.36.2、6.8.1、6.9.1、6.10.1、6.11.1、6.12.0 以降でサポートされています。インスタンスグループの場合、高可用性は Amazon EMRリリース 5.23.0 以降でサポートされています。詳細については、「Amazon EMRリリースについて」を参照してください。

  • 高可用性クラスターでは、Amazon はオンデマンドインスタンスを使用したプライマリノードの起動EMRのみをサポートします。これにより、クラスターの可用性を最大限に高めることができます。

  • プライマリフリートには引き続き複数のインスタンスタイプを指定できますが、高可用性クラスターのすべてのプライマリノードは、異常のあるプライマリノードの代替を含め、同じインスタンスタイプで起動されます。

  • 運用を継続するには、複数のプライマリノードがある高可用性クラスターの 3 つのプライマリノードのうちの 2 つが正常である必要があります。その結果、2 つのプライマリノードが同時に失敗すると、EMRクラスターは失敗します。

  • 高可用性EMRクラスターを含むすべてのクラスターは、単一のアベイラビリティーゾーンで起動されます。そのため、可用性ゾーンの障害に対する耐性がありません。可用性ゾーンが停止した場合、クラスターへのアクセスは失われます。

  • を使用する場合 インスタンスフリート内でクラスターを起動するときにカスタムサービスロールまたはポリシーを使用している場合は、Amazon がサポートされていないアベイラビリティーゾーン (AZ) EMRを除外できるように アクセスec2:DescribeInstanceTypeOfferings許可を追加できます。Amazon AZsがプライマリノードのインスタンスタイプをサポートしていない EMRを除外すると、Amazon はサポートされていないプライマリインスタンスタイプが原因でクラスターの起動が失敗するのEMRを防ぎます。詳細については、「Instance type not supported」を参照してください。

  • Amazon EMRは、 で指定されているもの以外のオープンソースアプリケーションの高可用性を保証しません複数のプライマリノードを持つ Amazon EMR クラスターでサポートされているアプリケーション

  • Amazon EMRリリース 5.23.0 から 5.36.2 では、インスタンスグループクラスターの 3 つのプライマリノードのうち 2 つだけが実行されます。HDFS NameNode.

  • Amazon EMRリリース 6.x 以降では、インスタンスグループの 3 つのプライマリノードすべてが実行されます。HDFS NameNode.

サブネット設定の考慮事項:

  • 複数のプライマリノードを持つ Amazon EMRクラスターは、1 つのアベイラビリティーゾーンまたはサブネットにのみ存在できます。フェイルオーバー時にサブネットが完全に利用されているか、オーバーサブスクライブされている場合、Amazon は障害が発生したプライマリノードを置き換えEMRることができません。このシナリオを回避するには、サブネット全体を Amazon EMRクラスター専用にすることをお勧めします。さらに、サブネットで利用できる十分なプライベート IP アドレスがあることを確認します。

コアノード設定の考慮事項:

  • コアノードの高可用性も維持するには、少なくとも 4 つのコアノードを起動することをお勧めします。3 つ以下のコアノードを持つ小さなクラスターを起動する場合は、 2が十分なDFSレプリケーションを持つHDFSように、 を少なくとも dfs.replication parameterに設定します。詳細については、「 HDFS設定」を参照してください。

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

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

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

メトリクスでのアラーム設定の考慮事項:

  • Amazon EMR は、 HDFSまたは に関するアプリケーション固有のメトリクスを提供しませんYARN。アラームを設定して、プライマリノードのインスタンス数をモニタリングすることをお勧めします。、MultiMasterInstanceGroupNodesRunning、または の Amazon CloudWatch メトリクスを使用してアラームを設定しますMultiMasterInstanceGroupNodesRequested。プライマリノードに障害や交換が発生した場合はMultiMasterInstanceGroupNodesRunningPercentage、 CloudWatch から通知されます。

    • MultiMasterInstanceGroupNodesRunningPercentage が 0.5 より大きく 1.0 より小さい場合、クラスターでプライマリノードが失われた可能性があります。この場合、Amazon はプライマリノードの置き換えEMRを試みます。

    • MultiMasterInstanceGroupNodesRunningPercentage が 0.5 を下回った場合、2 つのプライマリノードで障害が発生した可能性があります。このような状況では、クォーラムは失われており、クラスターを回復することはできません。このクラスターからデータを手動で移行する必要があります。

    詳細については、「メトリクスでアラームを設定する」を参照してください。