第15章 Cruise Control によるクラスターのリバランス
Cruise Control によるクラスターのリバランスはテクノロジープレビューの機能です。テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあります。Red Hat は、本番環境でのテクノロジープレビュー機能の実装は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。
Cruise Control を AMQ Streams クラスターにデプロイし、Kafka ブローカー全体で負荷のリバランスに使用できます。
Cruise Control は、クラスターワークロードの監視、事前定義の制約を基にしたクラスターのリバランス、異常の検出および修正などの Kafka の操作を自動化するオープンソースのシステムです。これは、4 つのコンポーネント(Load Monitor、Analyzer、Anomaly Detector、および Executor)と REST API で構成されます。
AMQ Streams および Cruise Control の両方が Red Hat Enterprise Linux にデプロイされる場合、Cruise Control REST API を使用して Cruise Control 機能にアクセスできます。以下の機能がサポートされます。
- 最適化ゴール および 容量制限の設定
/rebalance
エンドポイントを使用して以下を行うこと。- 設定された 最適化ゴールまたはリクエストパラメーターとして提供された ユーザー提供ゴールに基づいて、最適化 プロポーザル をドライランとして生成します。
- Kafka クラスターのリバランスを行う最適化プロポーザルの開始
-
/user_tasks
エンドポイントを使用したアクティブなリバランス操作の進捗の確認 -
/stop_proposal_execution
エンドポイントを使用したアクティブなリバランス操作の停止
異常検出、通知、独自ゴールの作成、トピックレプリケーション係数の変更など、その他の Cruise Control 機能はすべて現時点でサポートされていません。Web UI コンポーネント(Cruise Control Frontend)には対応していません。
Cruise Control for AMQ Streams on Red Hat Enterprise Linux は、個別の zip ディストリビューションとして提供されます。詳細は、「Cruise Control アーカイブのダウンロード」 を参照してください。
15.1. Cruise Control とは
Cruise Control は、ブローカー全体でより均等に分散され、効率的な Kafka クラスターを実行するための時間および労力を削減します。
通常、クラスターの負荷は時間とともに不均等になります。大量のメッセージトラフィックを処理するパーティションは、使用可能なブローカー全体で不均等に分散される可能性があります。クラスターを再分散するには、管理者はブローカーの負荷を監視し、トラフィックの多いパーティションを容量に余裕のあるブローカーに手作業で再割り当てします。
Cruise Control はこのクラスターのリバランスプロセスを自動化します。CPU、ディスク、およびネットワーク負荷に基づいて、リソース使用 の ワークロードモデルを構築します。設定可能な最適化ゴールのセットを使用すると、Cruise Control に対して、パーティションの割り当てをより均等にする最適化プロポーザルを生成するように指示できます。
ドライラン最適化プロポーザルを確認した後、Cruise Control に対してそのプロポーザルを基にしてクラスターリバランスを開始するか、新しいプロポーザルを生成するように指示できます。
クラスターのリバランス操作が完了すると、ブローカーはより効率的に使用され、Kafka クラスターの負荷はより均等に分散されます。