15.8. Cruise Control の設定
config/cruisecontrol.properties ファイルには、Cruise Control の設定が含まれます。ファイルは、以下のいずれかのタイプのプロパティーで構成されます。
- 文字列
- 数値
- ブール値
Cruise Control Wiki の Configurations セクションに記載されているすべてのプロパティーを指定および設定できます。
容量の設定
Cruise Control は 容量制限 を使用して、特定のリソースベースの最適化ゴールが破損しているか判断します。これらのリソースベースのゴールがハードゴールとして設定され、破損すると、最適化に失敗します。これにより、最適化プロポーザルの生成に最適化が使用されないようにします。
Kafka ブローカーリソースの容量制限は、cruise-control/config の以下の 3 つの .json ファイルのいずれかで指定します。
-
capacityJBOD.json: JBOD Kafka デプロイメントで使用します(デフォルトのファイル)。 -
capacity.json: 各ブローカーが同じ CPU コアの数を持つ JBOD Kafka デプロイメントで使用します。 -
capacityCores.json: 各ブローカーが CPU コアの数によって異なります。JBOD 以外の Kafka デプロイメントで使用します。
cruisecontrol.properties の capacity.config.file プロパティーにファイルを設定します。選択したファイルは、ブローカーの容量解決に使用されます。以下に例を示します。
capacity.config.file=config/capacityJBOD.json
capacity.config.file=config/capacityJBOD.json
容量制限は、記述された単位で以下のブローカーリソースに設定できます。
-
DISK: ディスクストレージ(MB 単位) -
CPU: パーセント(0-100)または多数のコアとする CPU 使用率 -
NW_IN: 1 秒あたり KB でのインバウンドネットワークスループット -
NW_OUT: 1 秒あたり KB のアウトバウンドネットワークスループット
Cruise Control によって監視されるすべてのブローカーに同じ容量制限を適用するには、ブローカー ID -1 の容量制限を設定します。個別のブローカーに異なる容量制限を設定するには、各ブローカー ID とその容量設定を指定します。
容量制限の設定例
詳細は、Cruise Control Wiki の「 Populating the Capacity Configuration File 」を参照してください。
Cruise Control Metrics トピックのログクリーンアップポリシー
自動作成された __CruiseControlMetrics トピック(自動作成されたトピックを参照 )には、COMPACT ではなく DELETE のログクリーンアップポリシーがあることが重要です。そうしないと、Cruise Control が必要とするレコードが削除される可能性があります。
「Cruise Control の Metrics Reporter のデプロイ」 で説明されているように、Kafka 設定ファイルで以下のオプションを設定すると、COMPACT ログクリーンアップポリシーが正しく設定されていることを確認します。
-
cruise.control.metrics.topic.auto.create=true -
cruise.control.metrics.topic.num.partitions=1 -
cruise.control.metrics.topic.replication.factor=1
トピックの自動作成が Cruise Control Metrics Reporter(cruise.control.metrics.topic.auto.create=false)で 無効 になっており、Kafka クラスターで 有効 になっている場合、__CruiseControlMetrics トピックは引き続きブローカーによって自動的に作成されます。この場合、kafka-configs.sh ツールを使用して、__CruiseControlMetrics トピックのログクリーンアップポリシーを DELETE に変更する必要があります。
__CruiseControlMetricsトピックの現在の設定を取得します。bin/kafka-configs.sh --bootstrap-server <BrokerAddress> --entity-type topics --entity-name __CruiseControlMetrics --describe
bin/kafka-configs.sh --bootstrap-server <BrokerAddress> --entity-type topics --entity-name __CruiseControlMetrics --describeCopy to Clipboard Copied! Toggle word wrap Toggle overflow トピック設定でログクリーンアップポリシーを変更します。
bin/kafka-configs.sh --bootstrap-server <BrokerAddress> --entity-type topics --entity-name __CruiseControlMetrics --alter --add-config cleanup.policy=delete
bin/kafka-configs.sh --bootstrap-server <BrokerAddress> --entity-type topics --entity-name __CruiseControlMetrics --alter --add-config cleanup.policy=deleteCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Cruise Control Metrics Reporter および Kafka クラスターの両方でトピックの自動作成が 無効 になっている場合は、__CruiseControlMetrics トピックを手動で作成してから、kafka-configs.sh ツールを使用して DELETE ログクリーンアップポリシーを使用するように設定する必要があります。
詳細は、「トピック設定の変更」 を参照してください。
ロギングの設定
Cruise Control は、すべてのサーバーロギングに log4j1 を使用します。デフォルト設定を変更するには、/opt/cruise-control/config/log4j.properties の log4j.properties ファイルを編集します。
変更を反映する前に、Cruise Control サーバーを再起動する必要があります。