適切なハードウェア構成とネットワーク環境設計は、Alibaba Cloud EMR クラスタを作成する際に、クラスタのパフォーマンス、費用対効果、および信頼性を確保するための重要な要素です。このトピックでは、ビッグデータ処理要件に基づいて、高可用性サービス、ノードの仕様、およびネットワーク構成ソリューションを選択する方法について説明します。
高可用性サービスの選択
ビジネスシナリオと実際の要件に基づいて、高可用性機能を有効にするかどうかを選択できます。高可用性サービスが有効になっている場合、クラスタはマルチマスターノードモードを使用して、シングルノードの障害リスクを排除し、分散およびフェールオーバーメカニズムによってサービスの継続性を確保します。
ディメンション | シングルマスターノードクラスタ | マルチマスターノードクラスタ |
シナリオ |
|
|
コア機能 | シングルノードアーキテクチャ、シンプルなデプロイメント。シングルノードの障害リスク。 |
|
フェイルバック | 自動復旧なし:トラブルシューティングと再起動には手動による介入が必要です。 | 自動フェイルバック:EMR サービスは、障害が発生したマスターノードを自動的に置き換えます。元のノードと同じ環境とブートストラップ操作を構成します。 |
コスト | 低コスト:構成が必要なマスターノードは 1 つだけです。 | 高コスト:3 つのマスターノードの構成が必要です。これらは、分散システムのコンセンサスアルゴリズムを通じて多数決メカニズムを実装し、オープンソースコンポーネント(ZooKeeper や HDFS など)の強力な整合性要件を満たし、シングルノードの障害を許容し、スプリットブレインを回避します。 |
ノード仕様の選択
クラスタの構成プロセスは次のとおりです。
ビジネスシナリオの決定:シナリオに基づいて選択を完了します(例:データレイク、データ分析、リアルタイムデータストリーム、データサービス、またはカスタムクラスタシナリオ)。
ストレージアーキテクチャの選択:シナリオに基づいて、結合ストレージとコンピューティング(HDFS)または分離ストレージとコンピューティング(OSS-HDFS/OSS)アーキテクチャを選択するかどうかを決定します。
ノードの仕様とディスクサイズの構成:
ノード仕様の構成:選択したストレージアーキテクチャ、クラスタ規模、ビジネス特性、およびその他の要因に基づいて、さまざまなノードタイプ(Master、Core、Task など)に適切な ECS インスタンスタイプ(汎用、コンピューティング最適化、メモリ最適化、ビッグデータなど)を選択します。
ディスクサイズの構成:ストレージ容量の計算とデータ量および増加予測に基づいて適切なディスクサイズを構成します。
データレイクシナリオ
結合ストレージとコンピューティング (HDFS)
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を行います。 デプロイされるサービス:NameNode、ResourceManager、HiveServer、HiveMetastore、SparkHistoryServer。 |
|
Core コンピューティング能力とストレージリソースを提供します。 デプロイされるサービス:DataNode、NodeManager。 | Core ノードインスタンスの仕様は、リソース要件に基づいています。
|
Task コンピューティング能力のみを提供し、データは保存しません。主に Core ノードの CPU とメモリの要件を補うために使用されます。 デプロイされるサービス:NodeManager。 | ピークバレーシナリオの推奨事項:
|
分離ストレージとコンピューティング (OSS-HDFS/OSS)
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を行います。 デプロイされるサービス:ResourceManager、HiveServer、HiveMetastore、SparkHistoryServer。 |
|
Core Task ノードと同様の機能で、データは保存しません。 デプロイされるサービス:NodeManager。 | Core ノードは、弾性スケーリング機能をサポートしていません。Task ノードのみを使用し、Core ノードを構成しないことをお勧めします。 |
Task コンピューティング能力を提供します。 デプロイされるサービス:NodeManager。 |
|
データ分析シナリオ
結合ストレージとコンピューティング
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を行います。 デプロイされるサービス:StarRocks FE、Doris FE、Zookeeper。 |
|
Core コンピューティング能力とストレージリソースを提供します。 デプロイされるサービス:StarRocks BE、Doris BE、ClickhouseKeeper、ClickhouseServer。 | Core ノードインスタンスの仕様は、ビジネスコンピューティング要件とデータストレージ容量に関連しています。
|
Task コンピューティング能力を提供します。 デプロイされるサービス:StarRocks CN。 | Task ノードへのデプロイをサポートしているのは、StarRocks Compute Node のみです。StarRocks コンポーネントを使用していない場合は、Task ノードを使用する必要はありません。 ピークバレーシナリオの推奨事項:
|
分離ストレージとコンピューティング
StarRocks 3.x バージョンのみが、分離ストレージとコンピューティングをサポートしています。
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を行います。 デプロイされるサービス:StarRocks FE、Zookeeper。 |
|
Task コンピューティング能力を提供します。 デプロイされるサービス:StarRocks CN。 | StarRocks の分離ストレージとコンピューティングアーキテクチャでは、Core ノードはなく、Task ノードのみです。
インスタンスの仕様は、実際のビジネスコンピューティング要件に基づいて評価する必要があり、通常は ≥16 コア 64 GiB を選択します。ノードの数は、ビジネス要件に応じて弾力的にスケーリングできます。 |
リアルタイムデータストリームシナリオ
結合ストレージとコンピューティング (HDFS)
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を行います。 デプロイされるサービス:NameNode、ResourceManager、FlinkHistoryServer、Zookeeper。 |
|
Core コンピューティング能力とストレージリソースを提供します。 デプロイされるサービス:DataNode、NodeManager。 | Core ノードインスタンスの仕様は、ビジネスタイプとリソース要件に関連しています。
|
Task コンピューティング能力のみを提供し、データは保存しません。主に Core ノードの CPU とメモリの要件を補うために使用されます。 デプロイされるサービス:NodeManager。 | ピークバレーの推奨事項:
|
分離ストレージとコンピューティング (OSS-HDFS/OSS)
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を行います。 デプロイされるサービス:ResourceManager、FlinkHistoryServer、Zookeeper。 |
|
Core Task ノードと同様の機能で、データは保存しません。 デプロイされるサービス:NodeManager。 | Core ノードは、弾性スケーリング機能をサポートしていません。Task ノードのみを使用し、Core ノードを構成しないことをお勧めします。 |
Task コンピューティング能力を提供します。 デプロイされるサービス:NodeManager。 |
|
データサービスシナリオ
結合ストレージとコンピューティング (HDFS)
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を行います。 デプロイされるサービス:NameNode、HMaster、Zookeeper。 |
|
Core コンピューティング能力とストレージリソースを提供します。 デプロイされるサービス:DataNode、HRegionServer。 | Core ノードインスタンスの仕様は、ビジネスリクエスト量とストレージ容量に関連しています。
|
Task コンピューティング能力のみを提供し、データは保存しません。主に Core ノードの CPU とメモリの要件を補うために使用されます。 デプロイされるサービス:HRegionServer。 | データサービスでは、データは Core ノードに保存されるため、データの局所性を確保するために、通常は Task ノードは推奨されません。 |
分離ストレージとコンピューティング (OSS-HDFS/OSS)
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を行います。 デプロイされるサービス:NameNode、HMaster、Zookeeper。 |
|
Core コンピューティング能力とストレージリソースを提供します。 デプロイされるサービス:DataNode、HRegionServer。 | OSS-HDFS/OSS を使用して HBase HLog を保存すると、書き込みパフォーマンスに大きな影響があります。HBase HLog は HDFS に保存することをお勧めします。 Core ノードインスタンスの仕様は、ビジネスリクエスト量に関連しています。汎用インスタンスをお勧めします。ディスク容量は ≥ 500 GiB です。
|
Task コンピューティング能力を提供します。 デプロイされるサービス:HRegionServer。 | ピークバレーシナリオの推奨事項:
|
カスタムクラスタシナリオ
オフライン ETL、リアルタイム ETL、複雑な集計分析、高並列クエリサービスなど、複数の混合シナリオがビジネスに関係する場合:
推奨されるアプローチ:複数クラスタタイプの組み合わせソリューション。特性の異なるクラスタ(オフラインバッチ処理クラスタ、リアルタイムストリーム処理クラスタ、分析クラスタ、クエリ高速化クラスタなど)を個別にデプロイすることで、リソースの分離とシナリオへの適応を実現できます。これにより、さまざまなタスクのパフォーマンスと安定性が確保されます。
ビジネス規模が小さく、シナリオ間にリソースの競合がない場合は、カスタムクラスタを選択します:柔軟な構成により、デプロイの複雑さを軽減し、リソース使用率を向上させます。
結合ストレージとコンピューティング (HDFS)
ノードタイプ | 推奨仕様 |
Master クラスタの管理とタスクの調整を担当します。 |
|
コア | コアノードインスタンスの仕様は、ビジネスの種類とリソース要件に関連しています。
|
タスク コンピューティング能力のみを提供し、データを保存しません。主にコア ノードの CPU とメモリの要件を補うために使用されます。 | ピークバレーシナリオの推奨事項:
|
分離ストレージとコンピューティング (OSS-HDFS/OSS)
ノードタイプ | 推奨仕様 |
Master クラスタを管理し、タスクを調整します。 | 小規模クラスター(8 インスタンス以下):汎用インスタンス 8 コアおよび 32 GiB、クラウドディスクを選択。 |
コア タスクノードと同様の機能で、データを保存しません。 |
|
タスク コンピューティング能力を提供します。 | タスクノードのみを構成する場合:
コアノードとタスクノードの両方が構成されている場合は、ピークバレーシナリオを考慮する必要があります。
|
ネットワーク構成の推奨事項
主要ディメンション | 構成の推奨事項 |
VPC ネットワーク構成 |
|
セキュリティグループ構成 |
|
ネットワーク接続構成 |
|
付録: ECS インスタンスタイプ
インスタンスファミリーを参照して、利用可能な ECS インスタンスファミリーの特性、仕様、および適用可能なシナリオをご確認ください。EMR コンソールでノードインスタンスの仕様を設定するためのリファレンスを提供します。
インスタンスタイプ | 機能 |
汎用 | vCPU:メモリ = 1:4。g シリーズと略されます。 |
コンピューティング最適化 | vCPU:メモリ = 1:2、より多くの計算リソースを提供します。c シリーズと略されます。 |
メモリ最適化 | vCPU:メモリ = 1:8、より多くのメモリリソースを提供します。r シリーズと略されます。 |
ローカル SSD | vCPU:メモリ = 1:4、ローカル SSD ディスクを使用し、高いランダム IOPS と高いスループット機能を備えていますが、データ損失のリスクがあります。このインスタンスタイプはマスターノードでは使用できません。i シリーズと略されます。 |
ビッグデータ | vCPU:メモリ = 1:4、ローカル SATA ディスクを使用し、ストレージコスト効率が高く、ビッグデータボリューム(TB レベルのデータボリューム)シナリオに推奨されるインスタンスタイプです。d シリーズと略されます。 |
共有 | CPU を共有するインスタンスタイプで、大きな計算負荷に対して十分に安定しておらず、エントリーレベルの学習にのみ適しています。企業のお客様にはお勧めしません。このインスタンスタイプはタスクノードでのみ使用できます。 |