このトピックでは、ビッグデータ処理の要件に基づいて、E-MapReduce (EMR) クラスターの高可用性オプション、ノードスペック、およびネットワーク構成を選択する方法について説明します。
高可用性サービスの選択
ビジネスシナリオに基づいて、高可用性を有効にするかどうかを選択します。有効にすると、クラスターはマルチマスターノードモードを使用し、分散フェールオーバーメカニズムを通じて単一ノード障害のリスクを排除し、サービスの継続性を維持します。
ディメンション | シングルマスターノードクラスター | マルチマスターノードクラスター |
シナリオ |
|
|
コア機能 | シングルノードアーキテクチャで、デプロイメントはシンプルです。単一ノード障害のリスクがあります。 |
|
フェイルバック | 自動回復なし:トラブルシューティングと再起動には手動での介入が必要です。 | 自動フェイルバック:EMR は、障害が発生したマスターノードを自動的に置き換え、元のノードと同じ環境とブートストラップアクションを復元します。 |
コスト | 低コスト:マスターノードは 1 台のみ必要です。 | 高コスト:3 台のマスターノードが必要です。これにより、コンセンサスアルゴリズムを通じて多数決による意思決定を実装し、オープンソースコンポーネント (ZooKeeper や HDFS など) の強力な整合性要件を満たし、スプリットブレインを防ぎます。 |
ノードスペックの選択
次の手順に従ってノードスペックを構成します:
ビジネスシナリオの決定:データレイク、データ分析、リアルタイムデータストリーム、データサービス、またはカスタムクラスターのシナリオから選択します。
ストレージアーキテクチャの選択:シナリオに基づいて、ストレージ/コンピュート結合 (HDFS) またはストレージ/コンピュート分離 (OSS-HDFS/OSS) を選択します。
ノードスペックとディスクサイズの構成:
ノードスペックの構成:ストレージアーキテクチャ、クラスターの規模、およびビジネスの特性に基づいて、各ノードタイプ (マスター、コア、タスク) に適した Elastic Compute Service (ECS) インスタンスタイプ (汎用、コンピューティング最適化、メモリ最適化、ビッグデータなど) を選択します。
ディスクサイズの構成:ストレージ容量の計算をデータ量と成長予測に基づいて行い、適切なディスクサイズを設定します。
データレイクシナリオ
ストレージ/コンピュート結合 (HDFS)
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 デプロイされるサービス:NameNode、ResourceManager、HiveServer、Hive Metastore、Spark History Server。 |
|
コア 計算リソースとストレージリソースを提供します。 デプロイされるサービス:DataNode、NodeManager。 | CPU 対メモリ比とストレージ要件に基づいて選択します:
|
タスク 計算のみを提供し、データストレージは提供しません。コアノードの CPU とメモリを補完するために使用されます。 デプロイされるサービス:NodeManager。 | ピーク/バレーシナリオの場合:
|
ストレージ/コンピュート分離 (OSS-HDFS/OSS)
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 デプロイされるサービス:ResourceManager、HiveServer、Hive Metastore、Spark History Server。 |
|
コア タスクノードと同様の機能で、データストレージはありません。 デプロイされるサービス:NodeManager。 | コアノードは弾力的スケーリングをサポートしていません。タスクノードのみを使用し、コアノードの構成はスキップしてください。 |
タスク 計算のみを提供します。 デプロイされるサービス:NodeManager。 |
|
データ分析シナリオ
ストレージ/コンピュート結合
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 デプロイされるサービス:StarRocks FE、Doris FE、ZooKeeper。 |
|
コア 計算リソースとストレージリソースを提供します。 デプロイされるサービス:StarRocks BE、Doris BE、ClickHouseKeeper、ClickHouseServer。 | ストレージ量と計算要件に基づいて選択します:
|
タスク 計算のみを提供します。 デプロイされるサービス:StarRocks CN。 | タスクノードは StarRocks コンピュートノード (CN) のデプロイメントのみをサポートします。StarRocks を使用していない場合は、タスクノードの構成をスキップしてください。
|
ストレージ/コンピュート分離
StarRocks 3.x のみがストレージ/コンピュート分離をサポートしています。
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 デプロイされるサービス:StarRocks FE、ZooKeeper。 |
|
タスク 計算のみを提供します。 デプロイされるサービス:StarRocks CN。 | StarRocks の分離アーキテクチャでは、コアノードはなく、タスクノードのみです。
|
リアルタイムデータストリームシナリオ
ストレージ/コンピュート結合 (HDFS)
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 デプロイされるサービス:NameNode、ResourceManager、Flink History Server、ZooKeeper。 |
|
コア 計算リソースとストレージリソースを提供します。 デプロイされるサービス:DataNode、NodeManager。 | Flink タスクで必要な CPU 対メモリ比に基づいて選択します:
|
タスク 計算のみを提供し、データストレージは提供しません。コアノードの CPU とメモリを補完するために使用されます。 デプロイされるサービス:NodeManager。 | ピーク/バレーシナリオの場合:
|
ストレージ/コンピュート分離 (OSS-HDFS/OSS)
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 デプロイされるサービス:ResourceManager、Flink History Server、ZooKeeper。 |
|
コア タスクノードと同様の機能で、データストレージはありません。 デプロイされるサービス:NodeManager。 | コアノードは弾力的スケーリングをサポートしていません。タスクノードのみを使用し、コアノードの構成はスキップしてください。 |
タスク 計算のみを提供します。 デプロイされるサービス:NodeManager。 |
|
データサービスシナリオ
ストレージ/コンピュート結合 (HDFS)
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 デプロイされるサービス:NameNode、HMaster、ZooKeeper。 |
|
コア 計算リソースとストレージリソースを提供します。 デプロイされるサービス:DataNode、HRegionServer。 | リクエスト量とストレージに基づいて選択します:
|
タスク 計算のみを提供し、データストレージは提供しません。コアノードの CPU とメモリを補完するために使用されます。 デプロイされるサービス:HRegionServer。 | データサービスシナリオでは、通常、タスクノードは推奨されません。データはコアノードに存在するため、タスクノードを使用するとデータローカリティが低下し、パフォーマンスが損なわれる可能性があります。 |
ストレージ/コンピュート分離 (OSS-HDFS/OSS)
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 デプロイされるサービス:NameNode、HMaster、ZooKeeper。 |
|
コア 計算リソースとストレージリソースを提供します。 デプロイされるサービス:DataNode、HRegionServer。 | HBase HLog を OSS-HDFS/OSS に保存すると、書き込みパフォーマンスが大幅に低下します。代わりに HBase HLog を HDFS に保存してください。
|
タスク 計算のみを提供します。 デプロイされるサービス:HRegionServer。 | ピーク/バレーシナリオの場合:
|
カスタムクラスターシナリオ
ワークロードがオフライン ETL、リアルタイム ETL、複雑な集約、高同時実行クエリなどのシナリオを混在させる場合、規模に基づいてデプロイメントアプローチを選択します:
複数の専用クラスター (推奨):オフラインのバッチ処理、リアルタイムのストリーム処理、分析クエリ、クエリ高速化のために別々のクラスターをデプロイします。これにより、リソースの隔離が実現され、ワークロードタイプ間で一貫したパフォーマンスが保証されます。
単一のカスタムクラスター:シナリオ間でリソースの競合がない小規模なワークロードにのみ適しています。デプロイメントの複雑さを軽減し、リソースの利用率を向上させます。
ストレージ/コンピュート結合 (HDFS)
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 |
|
コア 計算リソースとストレージリソースを提供します。 | クラスタータスクで必要な CPU 対メモリ比に基づいて選択します:
|
タスク 計算のみを提供し、データストレージは提供しません。コアノードの CPU とメモリを補完するために使用されます。 | ピーク/バレーシナリオの場合:
|
ストレージ/コンピュート分離 (OSS-HDFS/OSS)
ノードタイプ | 推奨スペック |
マスター クラスターを管理し、タスクを調整します。 | 小規模クラスター (8 ノード以下):汎用インスタンス、8 コア、32 GiB、クラウドディスク付き。 |
コア タスクノードと同様の機能で、データストレージはありません。 |
|
タスク 計算のみを提供します。 | タスクノードのみの場合:
|
ネットワーク構成の推奨事項
主要なディメンション | 構成の推奨事項 |
VPC ネットワーク構成 |
|
セキュリティグループ構成 |
|
ネットワーク接続構成 |
|
付録:ECS インスタンスタイプ
利用可能な ECS インスタンスファミリーの詳細 (特徴、仕様、ユースケースなど) については、「インスタンスファミリー」をご参照ください。EMR コンソールでノードのインスタンススペックを選択する際のリファレンスとして使用してください。
インスタンスタイプ | 特徴 |
汎用 | vCPU:メモリ = 1:4。g シリーズと略されます。 |
コンピューティング最適化 | vCPU:メモリ = 1:2。メモリ単位あたりの計算リソースが多く提供されます。c シリーズと略されます。 |
メモリ最適化 | vCPU:メモリ = 1:8。vCPU あたりのメモリリソースが多く提供されます。r シリーズと略されます。 |
ローカル SSD | vCPU:メモリ = 1:4。高いランダム IOPS とスループットを持つローカル SSD ディスクを使用しますが、データ損失のリスクがあります。マスターノードでは利用できません。i シリーズと略されます。 |
ビッグデータ | vCPU:メモリ = 1:4。高いストレージコスト効率を持つローカル SATA ディスクを使用します。TB スケールのデータ量に推奨されます。d シリーズと略されます。 |
共有 | 共有 CPU インスタンス。大規模な計算負荷の下では安定せず、入門レベルの学習にのみ適しています。エンタープライズでの使用は推奨されません。タスクノードでのみ利用可能です。 |