Cruise Control サービスは、Kafka の負荷分散、例外の検出と修正、およびクラスターの状態の監視に使用されます。このトピックでは、E-MapReduce(EMR)Kafka クラスターで Cruise Control サービスを使用する方法について説明します。
背景情報
Cruise Control コンポーネントは、EMR Kafka クラスターの Kafka ランタイムコンポーネントにプリインストールされています。そのため、Kafka ランタイムコンポーネントがインストールされている任意のノードで Cruise Control サービスを開始できます。Cruise Control のサービスノードとして、ブローカーノード以外のノードを使用することをお勧めします。このトピックでは、master-1-1 ノードを Cruise Control のサービスノードとして使用します。
前提条件
EMR V3.42.0 以降の Dataflow クラスターが作成され、クラスター作成時にオプションサービスから Kafka サービスが選択されています。クラスターの作成方法の詳細については、Dataflow Kafka クラスターの作成をご参照ください。
手順
Kafka サービスの構成ページに移動します。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[EMR On ECS] ページで、管理するクラスターを見つけ、[アクション] 列の [サービス] をクリックします。
[サービス] タブで、Kafka セクションの [構成] をクリックします。
Cruise Control レポーターを有効にして、Kafka クラスターのメトリックを収集します。
[構成] タブで、[server.properties] タブをクリックします。
[kafka.cruisecontrol.metric.reporter.enable] パラメーターの値を true に変更します。
[保存] をクリックします。
表示されるダイアログボックスで、[実行理由] パラメーターを構成し、[保存] をクリックします。
Kafka ブローカーのパフォーマンス情報を構成します。
[cruisecontrol_capacity.json] タブをクリックして、現在の構成のパフォーマンス情報を表示できます。プリセット構成がブローカーの実際のパフォーマンスパラメーターと一致しない場合は、パラメーターを変更できます。
Cruise Control コンポーネントにアクセスするためのパブリック IP アドレスを構成します。
[cruisecontrol.properties] タブをクリックします。
[cruise.control.ui.access.host] パラメーターの値を master-1-1 ノードのパブリック IP アドレスに変更します。
EMR コンソールの [ノード] ページで、master-1-1 ノードのパブリック IP アドレスを表示できます。
[保存] をクリックします。
表示されるダイアログボックスで、[実行理由] パラメーターを構成し、[保存] をクリックします。
Kafka ブローカーを再起動します。
[EMR On ECS] ページで、 を選択します。
表示されるダイアログボックスで、[実行理由] パラメーターを構成し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
Cruise Control サービスを開始します。
SSH モードでクラスターにログオンします。詳細については、クラスターへのログオンをご参照ください。
次のコマンドを実行して、Cruise Control サービスを開始します。
cd $KAFKA_ROOT/cruise-control-current/ ./emr-cruise-control-start.sh
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
Cruise Control サービスにアクセスします。
Cruise Control ユーザーインターフェース(UI)にアクセスするか、REST API オペレーションを呼び出すことによって、Cruise Control サービスを使用できます。
デフォルトでは、Cruise Control UI のアドレスは
http://<master-1-1 ノードのパブリック IP アドレス>:9090/
です。説明Cruise Control UI にアクセスする前に、ポート 9090 をセキュリティグループに追加する必要があります。詳細については、セキュリティグループルールの追加をご参照ください。
REST API オペレーションの使用方法の詳細については、REST-APIs をご参照ください。