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

E-MapReduce:Cruise Control の使用

最終更新日:Mar 26, 2026

Kafka クラスターが拡大するにつれて、ブローカー間のパーティション負荷が不均一になる場合があります。一部のブローカーでは、他のブローカーよりも大幅に多いトラフィックを処理することになります。Cruise Control は、ブローカー負荷を継続的にモニタリングし、異常を検出し、手動による分析を必要とせずに負荷バランスを回復できるよう、パーティションのリバランス提案を自動生成することで、この課題に対応します。本トピックでは、E-MapReduce (EMR) Kafka クラスター上で Cruise Control を有効化および起動する手順について説明します。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • Kafka サービスが選択された状態で作成された、EMR V3.42.0 以降の EMR Dataflow クラスター。詳細については、「Dataflow Kafka クラスターの作成」をご参照ください。

  • EMR on ECS コンソールへのアクセス権限およびクラスターへの SSH アクセス権限。

背景情報

Cruise Control は、EMR Kafka クラスターの Kafka ランタイムコンポーネントにプリインストール済みです。Kafka ランタイムコンポーネントがインストールされている任意のノードで実行可能です。ただし、ブローカーのリソースとの競合を避けるため、ブローカーではないノード(非ブローカーノード)で実行することを推奨します。本トピックでは、Cruise Control サービスノードとして master-1-1 を使用します。

Cruise Control の有効化および起動

ステップ 1:Kafka サービスの構成ページを開く

  1. EMR on ECS コンソールにログインします。

  2. トップナビゲーションバーで、クラスターが存在するリージョンを選択し、リソースグループを選択します。

  3. EMR on ECS ページで対象のクラスターを見つけ、[操作] 列の サービス をクリックします。

  4. サービス タブで、Kafka セクションの 構成 をクリックします。

ステップ 2:Cruise Control メトリックレポーターの有効化

メトリックレポーターは、Kafka ブローカーからパフォーマンスデータを収集します。Cruise Control はこのデータを用いてクラスター負荷をモデル化し、リバランス提案を生成します。

  1. 構成 タブで、server.properties タブをクリックします。

  2. kafka.cruisecontrol.metric.reporter.enabletrue に設定します。

  3. 保存 をクリックします。

  4. 表示されるダイアログボックスで、実行理由 フィールドに理由を入力し、保存 をクリックします。

ステップ 3:ブローカーの容量設定の確認および更新

cruisecontrol_capacity.json タブをクリックして、Kafka ブローカーの容量パラメーターを確認します。事前設定値がブローカーの実際のハードウェア仕様と一致しない場合は、続行前に値を更新してください。

ステップ 4:Cruise Control UI アクセスホストの設定

  1. cruisecontrol.properties タブをクリックします。

  2. cruise.control.ui.access.host を master-1-1 ノードのパブリック IP アドレスに設定します。この IP アドレスを確認するには、EMR コンソールの ノード ページに移動します。

  3. 保存 をクリックします。

  4. 表示されるダイアログボックスで、実行理由 フィールドに理由を入力し、保存 をクリックします。

ステップ 5:Kafka ブローカーの再起動

  1. EMR on ECS ページで、その他再起動 を選択します。

  2. 表示されるダイアログボックスで、実行理由 フィールドに理由を入力し、OK をクリックします。

  3. 確認 ダイアログボックスで、OK をクリックします。

ステップ 6:Cruise Control の起動

SSH でクラスターにログインし、以下のコマンドを実行して Cruise Control を起動します。

cd $KAFKA_ROOT/cruise-control-current/
./emr-cruise-control-start.sh

ステップ 7:起動の確認

以下のコマンドを実行してログファイルの一覧を表示し、Cruise Control の正常起動を確認します。

ll $LOG_DIR_ROOT/cruise-control

成功したスタートアップは、以下と同様の出力を生成します。

-rw-r--r-- 1 kafka hadoop 109095 Jul 20 15:07 kafkacruisecontrol.log
-rw-r--r-- 1 kafka hadoop      0 Jul 20 15:07 kafkacruisecontrol-operation.log
-rw-r--r-- 1 kafka hadoop  87452 Jul 20 15:07 kafka-cruise-control.out
-rw-r--r-- 1 kafka hadoop      0 Jul 20 15:07 kafkacruisecontrol-request.log

ステップ 8:Cruise Control へのアクセス

Cruise Control には、Web UI または REST API を通じてアクセスできます。

  • Web UI:ブラウザで http://<master-1-1 ノードのパブリック IP アドレス>:9090/ を開きます。

    重要

    Web UI にアクセスする前に、クラスターのセキュリティグループにポート 9090 のルールを追加してください。詳細については、「セキュリティグループルールの追加」をご参照ください。

  • REST API:「Cruise Control REST API リファレンス」をご参照ください。