14.5. 최적화 목표 개요


최적화 목표는 Kafka 클러스터의 워크로드 재배포 및 리소스 사용률에 대한 제약입니다. Kafka 클러스터를 재조정하기 위해 Cruise Control은 최적화 목표를 사용하여 최적화 제안을 생성합니다.

14.5.1. 우선 순위의 목표 순서

Red Hat Enterprise Linux의 AMQ Streams는 Cruise Control 프로젝트에서 개발한 모든 최적화 목표를 지원합니다. 지원되는 목표는 기본 우선 순위 순으로 다음과 같습니다.

  1. ack-awareness
  2. 일련의 주제를 위한 브로커당 최소 리더 복제본 수
  3. 복제본 용량
  4. 용량: 디스크 용량, 네트워크 인바운드 용량, 네트워크 아웃바운드 용량
  5. CPU 용량
  6. 복제본 배포
  7. 잠재적인 네트워크 출력
  8. 리소스 배포: 디스크 사용률 배포, 네트워크 인바운드 사용률 배포, 네트워크 아웃바운드 사용률 배포
  9. Leader bytes-in rate distribution
  10. 주제 복제본 배포
  11. CPU 사용량 배포
  12. 리더 복제본 배포
  13. 기본 리더 선택
  14. Kafka Assigner 디스크 사용 배포
  15. Intra-broker 디스크 용량
  16. Intra-broker 디스크 사용

각 최적화 목표에 대한 자세한 내용은 Cruise Controlanchor의 목표를 참조하십시오.

14.5.2. Cruise Control 속성 파일의 목표 구성

cruise-control/config/ 디렉토리의 cruisecontrol.properties 파일에서 최적화 목표를 구성합니다. Cruise Control에는 충족해야 하는 하드 최적화 목표 및 주요, 기본, 사용자 제공 최적화 목표를 위한 구성이 있습니다.

다음 구성에서 다음 최적화 목표 유형을 지정할 수 있습니다.

  • 주요 목표 ECDHE- cruisecontrol.properties 파일
  • 하드 목표 ECDHE- cruisecontrol.properties 파일
  • 기본 목표 ECDHE- cruisecontrol.properties 파일
  • 사용자 제공 목표 ECDHE-ECDHEruntime 매개변수

선택적으로 사용자 제공 최적화 목표는 런타임 시 /rebalance 엔드포인트에 대한 요청의 매개변수로 설정됩니다.

최적화 목표는 브로커 리소스에 대한 모든 용량 제한 의 영향을 받습니다.

14.5.3. 하드 및 소프트 최적화 목표

어려운 목표는 최적화 제안에 충족해야 하는 목표입니다. 어려운 목표로 구성되지 않은 목표는 소프트 목표로 알려져 있습니다. 소프트 목표를 최선의 목표로 생각할 수 있습니다: 최적화 제안서에 충족할 필요는 없지만 최적화 계산에 포함됩니다.

크루즈 컨트롤은 모든 어려운 목표를 충족하고 가능한 한 많은 소프트 목표를 충족하는 최적화 제안을 계산합니다 (우선 순위에서). 모든 어려운 목표를 충족 하지 않는 최적화 제안은 Analyzer에 의해 거부되며 사용자에게 전송되지 않습니다.

참고

예를 들어, 주제의 복제본을 클러스터 전체에 균등하게 배포하는 소프트 목표를 가질 수 있습니다(대상 복제본 배포 목표). 크루즈 컨트롤은 설정된 모든 하드 목표를 충족할 수 있도록 하는 경우 이 목표를 무시합니다.

Cruise Control에서 다음과 같은 주요 최적화 목표는 하드 목표로 사전 설정됩니다.

RackAwareGoal; MinTopicLeadersPerBrokerGoal; ReplicaCapacityGoal; DiskCapacityGoal; NetworkInboundCapacityGoal; NetworkOutboundCapacityGoal; CpuCapacityGoal

하드 목표를 변경하려면 cruisecontrol.properties 파일의 hard.goals 속성을 편집하고 정규화된 도메인 이름을 사용하여 목표를 지정합니다.

어려운 목표 수를 늘리면 Cruise Control이 유효한 최적화 제안을 계산하고 생성할 가능성이 줄어듭니다.

14.5.4. 주요 최적화 목표

최적화 목표는 모든 사용자가 사용할 수 있습니다. 주요 최적화 목표에 나열되지 않은 목표는 Cruise Control 운영에서 사용할 수 없습니다.

다음과 같은 주요 최적화 목표는 우선 순위 순으로 cruisecontrol.properties 파일의 goal 속성에 사전 설정됩니다.

RackAwareGoal; MinTopicLeadersPerBrokerGoal; ReplicaCapacityGoal; DiskCapacityGoal; NetworkInboundCapacityGoal; NetworkOutboundCapacityGoal; ReplicaDistributionGoal; PotentialNwOutGoal; DiskUsageDistributionGoal; NetworkInboundUsageDistributionGoal; NetworkOutboundUsageDistributionGoal; CpuUsageDistributionGoal; TopicReplicaDistributionGoal; LeaderReplicaDistributionGoal; LeaderBytesInDistributionGoal; PreferredLeaderElectionGoal

복잡성을 줄이기 위해 하나 이상의 목표를 완전히 제외해야 하는 경우를 제외하고 사전 설정된 주요 최적화 목표를 변경하지 않는 것이 좋습니다. 기본 최적화 목표의 우선 순위 순서는 기본 최적화 목표를 위한 구성에서 수정할 수 있습니다.

사전 설정된 주요 최적화 목표를 수정하려면 목표 속성의 목표 목록을 우선 순위 순으로 지정합니다. cruisecontrol.properties 파일에 표시된 대로 정규화된 도메인 이름을 사용합니다.

하나 이상의 기본 목표를 지정하거나 Cruise Control이 충돌할 것입니다.

참고

사전 설정된 기본 최적화 목표를 변경하는 경우 구성된 hard.goals 가 구성한 주요 최적화 목표의 하위 집합인지 확인해야 합니다. 그렇지 않으면 최적화 제안을 생성할 때 오류가 발생합니다.

14.5.5. 기본 최적화 목표

크루즈 컨트롤은 기본 최적화 목표 목록을 사용하여 캐시된 최적화 제안을 생성합니다. 자세한 내용은 14.6절. “최적화 제안 개요”의 내용을 참조하십시오.

사용자 제공 최적화 목표를 설정하여 런타임에 기본 최적화 목표를 재정의할 수 있습니다.

다음 기본 최적화 목표는 우선 순위 순으로 cruisecontrol.properties 파일의 default.goals 속성에 사전 설정됩니다.

RackAwareGoal; MinTopicLeadersPerBrokerGoal; ReplicaCapacityGoal; DiskCapacityGoal; NetworkInboundCapacityGoal; NetworkOutboundCapacityGoal; CpuCapacityGoal; ReplicaDistributionGoal; PotentialNwOutGoal; DiskUsageDistributionGoal; NetworkInboundUsageDistributionGoal; NetworkOutboundUsageDistributionGoal; CpuUsageDistributionGoal; TopicReplicaDistributionGoal; LeaderReplicaDistributionGoal; LeaderBytesInDistributionGoal

기본 목표를 하나 이상 지정해야 합니다. 그렇지 않으면 Cruise Control이 충돌합니다.

기본 최적화 목표를 수정하려면 default.goals 속성의 목표 목록을 우선 순위 순으로 지정합니다. 기본 목표는 주요 최적화 목표의 하위 집합이어야 하며 정규화된 도메인 이름을 사용해야 합니다.

14.5.6. 사용자 제공 최적화 목표

사용자 제공 최적화 목표는 특정 최적화 제안에 대해 구성된 기본 목표를 좁힙니다. 필요에 따라 HTTP 요청의 매개변수로 /rebalance 끝점에 대한 매개변수를 설정할 수 있습니다. 자세한 내용은 14.9절. “최적화 제안 생성”의 내용을 참조하십시오.

사용자 제공 최적화 목표는 다양한 시나리오에 대한 최적화 제안을 생성할 수 있습니다. 예를 들어 디스크 용량 또는 디스크 사용률을 고려하지 않고 Kafka 클러스터에서 리더 복제본 배포를 최적화할 수 있습니다. 따라서 리더 복제본 배포를 위한 단일 목표를 포함하는 /rebalance 엔드포인트에 요청을 보냅니다.

사용자 제공 최적화 목표는 다음과 같습니다.

최적화 제안서에서 구성된 하드 목표를 무시하려면 skip_hard_goals_check=true 매개변수를 요청에 추가합니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.