第14章 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)はサポートされません。
Red Hat Enterprise Linux 上の Cruise Control for AMQ Streams は、別の zip 形式のディストリビューションとして提供されます。詳細は、「Cruise Control アーカイブのダウンロード」 を参照してください。
14.1. Cruise Control とは
Cruise Control は、効率的な Kafka クラスターを実行する時間と作業を削減し、ブローカー全体でワークロードの均等に分散されます。
通常、クラスターの負荷は時間とともに不均等になります。大量のメッセージトラフィックを処理するパーティションは、使用可能なブローカー全体で不均等に分散される可能性があります。クラスターを再分散するには、管理者はブローカーの負荷を監視し、トラフィックの多いパーティションを容量に余裕のあるブローカーに手作業で再割り当てします。
Cruise Control はこのクラスターのリバランス処理を自動化します。CPU、ディスク、およびネットワーク負荷に基づいて、リソース使用率のワークロードモデルを構築します。設定可能な最適化ゴールのセットを使用して、Cruise Control に、パーティションの割り当てをより均等にするドライラン最適化プロポーザルを生成するよう指示できます。
ドライラン最適化プロポーザルを確認した後、Cruise Control にそのプロポーザルを基にクラスターのリバランスを開始するよう指示したり、新しいプロポーザルを生成するように指示できます。
クラスターのリバランス操作が完了すると、ブローカーがより効果的に使用され、Kafka クラスターの負荷がより均等に分散されます。