13.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에 필요한 레코드가 제거될 수 있습니다.
13.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 서버를 다시 시작해야 합니다.