14.8. 크루즈 제어 구성
config/cruisecontrol.properties
파일에는 Cruise Control에 대한 구성이 포함되어 있습니다. 파일은 다음 유형 중 하나에 있는 속성으로 구성됩니다.
- 문자열
- 숫자
- 부울
Cruise Control Wiki의 Configurations 섹션에 나열된 모든 속성을 지정하고 구성할 수 있습니다.
용량 구성
크루즈 컨트롤에서는 용량 제한을 사용하여 특정 리소스 기반 최적화 목표를 손상했는지 확인합니다. 이러한 리소스 기반 목표 중 하나 이상이 하드 목표로 설정된 경우 시도된 최적화가 실패합니다. 이로 인해 최적화 제안을 생성하는 데 최적화가 사용되지 않습니다.
cruise-control/config
의 다음 세 .json
파일 중 하나에서 Kafka 브로커 리소스에 대한 용량 제한을 지정합니다.
-
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
용량 제한은 설명된 단위로 다음 브로커 리소스에 대해 설정할 수 있습니다.
-
DISK
: MB의 디스크 스토리지 -
CPU
: CPU 사용률 (0-100) 또는 여러 코어 -
NW_IN
: 초당 KB의 인바운드 네트워크 처리량 -
NW_OUT
: 초당 KB의 아웃 바운드 네트워크 처리량
Cruise Control에서 모니터링하는 모든 브로커에 동일한 용량 제한을 적용하려면 브로커 ID -1
에 대한 용량 제한을 설정합니다. 개별 브로커에 대해 다른 용량 제한을 설정하려면 각 브로커 ID 및 용량 구성을 지정합니다.
용량 제한 구성의 예
{ "brokerCapacities":[ { "brokerId": "-1", "capacity": { "DISK": "100000", "CPU": "100", "NW_IN": "10000", "NW_OUT": "10000" }, "doc": "This is the default capacity. Capacity unit used for disk is in MB, cpu is in percentage, network throughput is in KB." }, { "brokerId": "0", "capacity": { "DISK": "500000", "CPU": "100", "NW_IN": "50000", "NW_OUT": "50000" }, "doc": "This overrides the capacity for broker 0." } ] }
자세한 내용은 Cruise Control Wiki 에서 용량 구성 파일 채우기 를 참조하십시오.
Cruise Control Metrics 항목에 대한 로그 정리 정책
자동 생성 __CruiseControlMetrics
주제( 자동 생성 주제참조)에 COMPACT
가 아닌 DELETE
의 로그 정리 정책이 있어야 합니다. 그렇지 않으면 Cruise Control에 필요한 레코드가 제거될 수 있습니다.
14.3절. “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
주제는 브로커에 의해 자동으로 생성됩니다. 이 경우 __CruiseControlMetrics
항목의 로그 정리 정책을 kafka-configs.sh
도구를 사용하여 DELETE
로 변경해야 합니다.
__CruiseControlMetrics
주제의 현재 구성을 가져옵니다.opt/kafka/bin/kafka-configs.sh --bootstrap-server <broker_address> --entity-type topics --entity-name __CruiseControlMetrics --describe
주제 구성에서 로그 정리 정책을 변경합니다.
/opt/kafka/bin/kafka-configs.sh --bootstrap-server <broker_address> --entity-type topics --entity-name __CruiseControlMetrics --alter --add-config cleanup.policy=delete
Cruise Control Metrics Reporter 및 Kafka 클러스터에서 주제 자동 생성이 비활성화되어 있는 경우 __CruiseControlMetrics
주제를 수동으로 생성한 다음 kafka-configs.sh
도구를 사용하여 DELETE
로그 정리 정책을 사용하도록 구성해야 합니다.
자세한 내용은 7.9절. “주제 구성 수정”의 내용을 참조하십시오.
로깅 구성
cruise Control은 모든 서버 로깅에 log4j1
을 사용합니다. 기본 구성을 변경하려면 /opt/cruise-control/config/
에서 log4j.properties 파일을 편집합니다.
log4j.properties
변경 사항을 적용하려면 Cruise Control 서버를 다시 시작해야 합니다.