13.7. Cruise Control の設定
config/cruisecontrol.properties ファイルには Cruise Control の設定が含まれます。各プロパティーには、次のいずれかのタイプの Cruise Control プロジェクトのデフォルト値が入力されます。
- String
- 数値
- ブール値
Cruise Control Wiki の Configurations セクションに記載されているすべてのプロパティーを指定および設定できます。
容量の設定
Cruise Control は 容量制限 を使用して、特定のリソースベースの最適化ゴールが破損しているか判断します。1 つ以上のリソースベースのゴールがハードゴールとして設定され、破損すると、最適化の試みは失敗します。これにより、最適化を使用して最適化プロポーザルを生成できなくなります。
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: KB 毎秒単位のインバウンドネットワークスループット -
NW_OUT: 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 --zookeeper <ZooKeeperAddress> --entity-type topics --entity-name __CruiseControlMetrics --describe
bin/kafka-configs.sh --zookeeper <ZooKeeperAddress> --entity-type topics --entity-name __CruiseControlMetrics --describeCopy to Clipboard Copied! Toggle word wrap Toggle overflow トピック設定でログクリーンアップポリシーを変更します。
bin/kafka-configs.sh --zookeeper <ZooKeeperAddress> --entity-type topics --entity-name __CruiseControlMetrics --alter --add-config cleanup.policy=delete
bin/kafka-configs.sh --zookeeper <ZooKeeperAddress> --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 サーバーを再起動する必要があります。