9.5. Cruise Control の設定


Kafka.spec.cruiseControlconfig プロパティーには設定オプションがキーとして含まれ、それらの値は以下の JSON タイプの 1 つになります。

  • 文字列
  • 数値
  • ブール値
注記

JSON または YAML に似た文字列は、明示的に引用符で囲む必要があります。

AMQ Streams によって直接管理されるオプション以外は、Cruise Control ドキュメント の Configurations セクションにリストされているすべてのオプションを指定および設定できます。以下の文字列の 1 つと同じキーまたは以下の文字列の 1 つで始まるキーを持つ設定オプションは編集できません

  • bootstrap.servers
  • zookeeper.
  • ssl.
  • security.
  • failed.brokers.zk.path
  • webserver.http.port
  • webserver.http.address
  • webserver.api.urlprefix
  • metric.reporter.sampler.bootstrap.servers
  • metric.reporter.topic
  • metric.reporter.topic.pattern
  • partition.metric.sample.store.topic
  • broker.metric.sample.store.topic
  • capacity.config.file
  • skip.sample.store.topic.rack.awareness.check
  • cruise.control.metrics.topic
  • sasl.

制限されたオプションが指定された場合、そのオプションは無視され、警告メッセージが Cluster Operator のログファイルに出力されます。すべてのサポートされるオプションは Cruise Control に渡されます。

Cruise Control の設定例

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
  name: my-cluster
spec:
  # ...
  cruiseControl:
    # ...
    config:
      default.goals: >
         com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal,
         com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaCapacityGoal
      cpu.balance.threshold: 1.1
      metadata.max.age.ms: 300000
      send.buffer.bytes: 131072
    # ...

容量の設定

Cruise Control は 容量制限 を使用して、特定のリソースベースの最適化ゴールが破損しているか判断します。

Kafka ブローカーリソースの容量制限は、Kafka.spec.cruiseControlbrokerCapacity プロパティーに指定します。容量制限は、記述された単位で以下のブローカーリソースに設定できます。

  • disk - バイト単位のディスクストレージ
  • cpuUtilization - パーセント (0-100) で表した CPU 使用率
  • inboundNetwork - バイト毎秒単位のインバウンドネットワークスループット
  • outboundNetwork - バイト毎秒単位のアウトバウンドネットワークスループット

AMQ Streams の Kafka ブローカーは同種であるため、Cruise Control は監視している各ブローカーに同じ容量制限を適用します。

Cruise Control の brokerCapacity の設定例

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
  name: my-cluster
spec:
  # ...
  cruiseControl:
    # ...
    brokerCapacity:
      disk: 100G
      cpuUtilization: 100
      inboundNetwork: 10000KB/s
      outboundNetwork: 10000KB/s
    # ...

関連情報

詳細は BrokerCapacity スキーマー参照」 を参照してください。

ロギングの設定

Cruise Control には独自の設定可能なロガーがあります。

  • cruisecontrol.root.logger

Cruise Control では Apache log4j ロガー実装が使用されます。

logging プロパティーを使用してロガーおよびロガーレベルを設定します。

ログレベルを設定するには、ロガーとレベルを直接指定 (インライン) するか、またはカスタム (外部) ConfigMap を使用します。ConfigMap を使用する場合、logging.name プロパティーを外部ロギング設定が含まれる ConfigMap の名前に設定します。ConfigMap 内では、ロギング設定は log4j.properties を使用して記述されます。

ここで、inline および external ロギングの例を示します。

inline ロギング

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
# ...
spec:
  cruiseControl:
    # ...
    logging:
      type: inline
      loggers:
        cruisecontrol.root.logger: "INFO"
    # ...

外部ロギング

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
# ...
spec:
  cruiseControl:
    # ...
    logging:
      type: external
      name: customConfigMap
    # ...

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.