第19章 Cruise Control を使用したクラスターのリバランス


Cruise Control は、次の Kafka 操作をサポートするオープンソースシステムです。

  • クラスターワークロードのモニタリング
  • 定義済みの制約に基づくクラスターのリバランス

この操作は、ブローカー Pod をより効率的に使用する、よりバランスの取れた Kafka クラスターを実行するのに役立ちます。

通常、クラスターの負荷は時間とともに不均等になります。大量のメッセージトラフィックを処理するパーティションは、使用可能なブローカー全体で均等に分散されない可能性があります。クラスターを再分散するには、管理者はブローカーの負荷を監視し、トラフィックの多いパーティションを容量に余裕のあるブローカーに手作業で再割り当てします。

Cruise Control はクラスターのリバランス処理を自動化します。CPU、ディスク、およびネットワーク負荷を基にして、クラスターにおけるリソース使用のワークロードモデルを構築し、パーティションの割り当てをより均等にする、最適化プロポーザル (承認または拒否可能) を生成します。これらのプロポーザルの算出には、設定可能な最適化ゴールが複数使用されます。

特定のモードで最適化の提案を生成できます。デフォルトの full モードでは、すべてのブローカー間でパーティションがリバランスされます。add-brokers および remove-brokers モードを使用して、クラスターをスケールアップまたはスケールダウンするときの変更に対応することもできます。

最適化プロポーザルを承認すると、Cruise Control はそのプロポーザルを Kafka クラスターに適用します。KafkaRebalance リソースを使用して、最適化の提案を設定および生成します。最適化の提案が自動または手動で承認されるように、アノテーションを使用してリソースを設定できます。

注記

Streams for Apache Kafka には、Cruise Control のサンプル設定ファイル があります。

19.1. Cruise Control のコンポーネントと機能

Cruise Control は、Load Monitor、Analyzer、Anomaly Detector、Executor の 4 つの主要コンポーネントと、クライアントとの対話用の REST API で構成されています。Streams for Apache Kafka は、REST API を使用して次の Cruise Control 機能をサポートします。

  • 最適化ゴールから最適化プロポーザルを生成します。
  • 最適化プロポーザルを基にして Kafka クラスターのリバランスを行います。
最適化ゴール

最適化ゴールは、リバランスから達成する特定のゴールを表します。たとえば、トピックのレプリカをブローカー間でより均等に分散することがゴールになる場合があります。設定から追加するゴールを変更できます。ゴールは、ハードゴールまたはソフトゴールとして定義されます。Cruise Control 展開設定を使用してハード目標を追加できます。また、これらの各カテゴリーに適合するメイン、デフォルト、およびユーザー提供の目標もあります。

  • ハードゴール は事前設定されており、最適化プロポーザルが正常に実行されるには満たされる必要があります。
  • 最適化プロポーザルが正常に実行されるには、ソフトゴール を満たす必要はありません。これは、すべてのハードゴールが一致することを意味します。
  • メインゴール は Cruise Control から継承されます。ハードゴールとして事前設定されているものもあります。メインゴールは、デフォルトで最適化プロポーザルで使用されます。
  • デフォルトのゴール は、デフォルトでメインゴールと同じです。デフォルトゴールのセットを指定できます。
  • ユーザー提供のゴール は、特定の最適化プロポーザルを生成するために設定されるデフォルトゴールのサブセットです。
最適化プロポーザル

最適化プロポーザルは、リバランスから達成するゴールで構成されます。最適化プロポーザルを生成して、提案された変更の概要と、リバランス可能な結果を作成します。ゴールは特定の優先順位で評価されます。その後、プロポーザルの承認または拒否を選択できます。プロポーザルを拒否し、調整したゴールセットを使用して再度実行できます。

3 つのモードのいずれかで最適化プロポーザルを生成できます。

  • full はデフォルトのモードで、完全なリバランスを実行します。
  • add-brokers は、Kafka クラスターをスケールアップするときにブローカーを追加した後に使用するモードです。
  • remove-brokers は、Kafka クラスターを縮小するときにブローカーを削除する前に使用するモードです。

自己修復、通知、独自ゴールの作成、トピックレプリケーション係数の変更など、その他の Cruise Control の機能は現在サポートされていません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.