13.4. Cruise Control 구성 및 시작
Cruise Control에서 사용하는 속성을 구성한 다음 kafka-cruise-control-start.sh 스크립트를 사용하여 Cruise Control 서버를 시작합니다. 서버는 전체 Kafka 클러스터의 단일 시스템에서 호스팅됩니다.
Cruise Control이 시작될 때 세 가지 주제가 자동으로 생성됩니다. 자세한 내용은 자동 생성 항목을 참조하십시오.
사전 요구 사항
-
kafka사용자로 Red Hat Enterprise Linux에 로그인되어 있습니다. - Cruise Control을 다운로드 했습니다.
- Cruise Control Metrics Reporter를 배포 했습니다.
프로세스
-
Cruise Control 속성 파일(
/opt/cruise-control/config/cruisecontrol.properties)을 편집합니다. 다음 예제 구성에 표시된 속성을 구성합니다.
# The Kafka cluster to control. bootstrap.servers=localhost:90921 # The replication factor of Kafka metric sample store topic sample.store.topic.replication.factor=22 # The configuration for the BrokerCapacityConfigFileResolver (supports JBOD, non-JBOD, and heterogeneous CPU core capacities) #capacity.config.file=config/capacity.json #capacity.config.file=config/capacityCores.json capacity.config.file=config/capacityJBOD.json3 # The list of goals to optimize the Kafka cluster for with pre-computed proposals default.goals={List of default optimization goals}4 # The list of supported goals goals={list of main optimization goals}5 # The list of supported hard goals hard.goals={List of hard goals}6 # How often should the cached proposal be expired and recalculated if necessary proposal.expiration.ms=600007 #Set failure detection to true kafka.broker.failure.detection.enable=true8 - 1
- Kafka 브로커의 호스트 및 포트 번호(항상 포트 9092).
- 2
- Kafka 지표 샘플 저장소 주제의 복제 인수입니다. 단일 노드 Kafka 클러스터에서 Cruise Control을 평가하는 경우 이 속성을 1로 설정합니다. 프로덕션 용도의 경우 이 속성을 2 이상으로 설정합니다.
- 3
- 브로커 리소스의 최대 용량 제한을 설정하는 구성 파일입니다. Kafka 배포 구성에 적용되는 파일을 사용합니다. 자세한 내용은 용량 구성 을 참조하십시오.
- 4
- FQDN(정규화된 도메인 이름)을 사용하여 콤마로 구분된 기본 최적화 목표 목록입니다. 여러 주요 최적화 목표 (참조 5)는 이미 기본 최적화 목표로 설정되어 있습니다. 원하는 경우 목표를 추가하거나 제거할 수 있습니다. 자세한 내용은 13.5절. “최적화 목표 개요”의 내용을 참조하십시오.
- 5
- FQDN을 사용하여 콤마로 구분된 주요 최적화 목표 목록입니다. 최적화 제안을 생성하는 데 사용되는 목표를 완전히 제외하려면 목록에서 제거하십시오. 자세한 내용은 13.5절. “최적화 목표 개요”의 내용을 참조하십시오.
- 6
- FQDN을 사용하여 콤마로 구분된 하드 목표 목록입니다. 주요 최적화 목표 중 7개는 이미 하드 목표로 설정되어 있습니다. 원하는 경우 목표를 추가하거나 제거할 수 있습니다. 자세한 내용은 13.5절. “최적화 목표 개요”의 내용을 참조하십시오.
- 7
- 기본 최적화 목표에서 생성되는 캐시된 최적화 제안을 새로 고치는 간격(밀리초)입니다. 자세한 내용은 13.6절. “최적화 제안 개요”의 내용을 참조하십시오.
- 8
- Cruise Control에서 Kafka API를 사용하여 브로커 오류를 감지할 수 있습니다.
Cruise Control Server를 시작합니다. 서버는 기본적으로 포트 9092에서 시작합니다. 선택적으로 다른 포트를 지정합니다.
cd /opt/cruise-control/ ./kafka-cruise-control-start.sh config/cruisecontrol.properties <port_number>Cruise Control이 실행 중인지 확인하려면 Cruise Control 서버의
/state엔드포인트에 GET 요청을 보냅니다.curl -X GET 'http://<cc_host>:<cc_port>/kafkacruisecontrol/state'
자동 생성 주제
다음 표에서는 Cruise Control이 시작될 때 자동으로 생성되는 세 가지 주제를 보여줍니다. 이러한 주제는 크루즈 제어가 제대로 작동하려면 필수이며 삭제하거나 변경하지 않아야 합니다.
| 자동 생성 주제 | 작성자 | 함수 |
|---|---|---|
|
| cruise Control Metrics Reporter | 각 Kafka 브로커의 Metrics Reporter의 원시 지표를 저장합니다. |
|
| 크루즈 제어 | 각 파티션에 대해 파생된 지표를 저장합니다. 이는 Metric Sample Aggregator 에 의해 생성됩니다. |
|
| 크루즈 제어 | 클러스터 워크로드 모델을 생성하는 데 사용되는 메트릭 샘플을 저장합니다. |
자동 생성 항목에서 로그 압축이 비활성화되어 있는지 확인하려면 13.3절. “Cruise Control Metrics Reporter 배포” 에 설명된 대로 Cruise Control Metrics Reporter를 구성해야 합니다. 로그 압축은 Cruise Control에 필요한 레코드를 제거하고 제대로 작동하지 못하도록 할 수 있습니다.