すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:クラスターリソースの見積もりに関する提案

最終更新日:Mar 26, 2026

クラスター作成前の正確なリソースサイジングは、プロビジョニング不足 (負荷時のパフォーマンス低下を引き起こす) と過剰なプロビジョニング (コストの無駄) の両方を防ぎます。このトピックでは、Kafka を実行する E-MapReduce (EMR) クラスターの各ノードグループに対するサイジング数式と推奨スペックを提供します。初期見積もり後、kafka-producer-perf-testkafka-consumer-perf-test を使用して検証し、その後、ワークロードの変化に応じてスケールアウト機能を使用して構成を調整します。

Kafka クラスターのサイジングは、ピークメッセージトラフィック、平均メッセージサイズ、パーティション数、レプリケーション係数、およびクライアント数に依存します。以下の数式を適用する前に、実際のビジネスメトリックを収集してください。

ノードグループの概要

次の表は、各ノードグループの推奨スペックをまとめたものです。詳細なサイジングガイダンスと数式は、以下のセクションで説明します。

ノードグループ役割ノードCPUメモリシステムディスクデータディスク
MasterZooKeeper + エコシステムコンポーネント34 コア8 GiB80 GiB120 GiB クラウドディスク
CoreKafka ブローカーブローカー数16 コア64 GiB80 GiB4 x クラウドディスク (サイズは変動)
Task (オプション)Kafka Connect>2>8 コアコネクタに基づく>80 GiB クラウドディスク

Master ノードグループ (ZooKeeper)

Master ノードグループは、ZooKeeper と Kafka エコシステムコンポーネント (Kafka Manager、Schema Registry、REST Proxy) を実行します。

以下のスペックで 3 つの Master ノードを構成します。

リソース推奨値
ノード3
CPU4 コア
メモリ8 GiB
CPU 対メモリ比1:2
システムディスク80 GiB
データディスク120 GiB クラウドディスク

Core ノードグループ (Kafka ブローカー)

ビジネスパラメーター

ブローカー数とディスクサイズを計算する前に、以下のビジネスパラメーターを収集してください。

パラメーター説明デフォルト
ファンアウト係数クラスター内レプリケーションを除く、ダウンストリームノードがビジネスデータを消費する回数
ピークインバウンドトラフィックピークビジネスデータスループット (MB/秒)
平均インバウンドトラフィック平均ビジネスデータスループット (MB/秒)
データ保持期間データが保持される期間 (日数)7 日
パーティションレプリケーション係数パーティションあたりのレプリカ数3
ピークトラフィックは通常、平均トラフィックよりも桁違いに高くなります。それに応じてピークインバウンドトラフィック値を設定し、クラスターが極端な負荷の下でもサービスを維持できるように、十分な冗長容量を確保してください。

これらのパラメーターを使用して、以下のクラスターレベルのメトリックを導出します。

メトリック数式
合計ピーク書き込みトラフィックPeak inbound traffic x Partition replication factor
合計ピーク読み取りトラフィックPeak inbound traffic x (Fan-out factor + Partition replication factor - 1)
合計ストレージ容量Average inbound traffic x Data retention period x Partition replication factor

推奨ノードスペック

以下のスペックで Core ノードを構成します。

リソース推奨値
CPU16 コア
メモリ64 GiB
CPU 対メモリ比1:4
システムディスク80 GiB
データディスク4 x クラウドディスク (サイズは以下で計算)

ディスクタイプ。物理ディスク障害による運用と保守 (O&M) の負担を避けるため、データディスクとしてクラウドディスクを使用してください。これにより、サービス可用性が向上し、O&M 人件費が削減されます。

ディスクタイプとディスク数を選択した後、ノードの合計ディスク I/O スループットを計算してください。合計ディスク I/O スループット以上の帯域幅を持つネットワークインターフェースカード (NIC) を選択してください。

ブローカー数

理想的な条件では、Kafka ブローカーのスループット上限は、そのディスク I/O スループットまたは NIC 帯域幅のいずれかです。必要なブローカー数を計算するには、以下の手順を使用してください。

ステップ 1: ノードあたりのディスクスループットを計算します。

Disk throughput per node = Throughput per disk x Number of data disks

参考として、PL1 Enterprise SSD (ESSD) の最大スループットは 350 MB/秒です。ローカルディスクの場合、理論値の半分を実効スループットとして使用します。これは通常 50 MB/秒です。

詳細なディスクパフォーマンス値については、「ブロックストレージパフォーマンス」をご参照ください。

ステップ 2: トラフィックに基づいてブローカー数を計算します。

レプリケーション係数 3 の場合、1 つのブローカーが一時的に利用不可になった場合でも、3 つのレプリカを持つパーティションを作成できるように、少なくとも 4 つのブローカーを使用してください。50% の冗長容量を維持します。

Number of brokers = Max(4, (Total peak read traffic + Total peak write traffic) / Disk throughput per node / 50%)

ステップ 3: パーティションレプリカの制限と照合します。

パーティションレプリカの合計数が多い場合は、パーティションベースの数式を使用して相互チェックしてください。

Number of brokers = Max(4, Total number of partitions x Partition replication factor / 2,000)

パーティションレプリカの制限:

制限
ブローカーあたりの推奨最大レプリカ数2,000
ブローカーあたりのハード最大レプリカ数4,000
クラスターあたりのハード最大レプリカ数200,000

ステップ 4: ブローカーあたりのディスクサイズを計算します。

Disk size per broker = Total storage capacity / Number of brokers / Number of data disks per node / 50%

クラスター作成後のスケーリング

サイジング数式に組み込まれた 50% の冗長性予備は、速度制限が始まる負荷しきい値以下にクラスターを維持します。クラスター作成後、リソース使用量を監視し、スケールアウト機能を使用して実際のリソース使用量に基づいて構成を調整してください。

Task ノードグループ (Kafka Connect) (オプション)

Task ノードグループはオプションであり、Kafka Connect を実行します。クラスター作成後、実際のリソース使用量に基づいていつでもサイズ変更できます。

以下のスペックで Task ノードを構成します。

リソース推奨値
ノード>2 (高可用性のため)
CPUノードあたり >8 コア。コネクタの CPU 使用率に基づいて増加。
メモリコネクタタイプとメモリ使用量に基づく
CPU 対メモリ比1:2 または 1:4
データディスク>80 GiB クラウドディスク