13.6. 최적화 제안 개요


최적화 제안은 브로커 간에 파티션 워크로드가 더 균등하게 분산되는 Kafka 클러스터를 생성하는 제안된 변경 사항에 대한 요약입니다.

각 최적화 제안은 브로커 리소스에 대해 구성된 용량 제한에 따라 이를 생성하는 데 사용된 최적화 목표 세트를 기반으로 합니다.

모든 최적화 제안은 제안된 리밸런스의 영향에 대한 추정치 입니다. 제안을 승인하거나 거부할 수 있습니다. 최적화 제안을 먼저 생성하지 않고 클러스터 재조정을 승인할 수 없습니다.

다음 끝점 중 하나를 사용하여 최적화 제안을 실행할 수 있습니다.

  • /rebalance
  • /add_broker
  • /remove_broker

13.6.1. 끝점 재조정

최적화 제안을 생성하기 위해 POST 요청을 보낼 때 끝점 재조정을 지정합니다.

/rebalance
/rebalance 엔드포인트는 클러스터의 모든 브로커에서 복제본을 이동하여 전체 재조정을 실행합니다.
/add_broker
add_broker 엔드포인트는 하나 이상의 브로커를 추가하여 Kafka 클러스터를 확장한 후 사용됩니다. 일반적으로 Kafka 클러스터를 확장한 후 새 브로커는 새로 생성된 주제의 파티션만 호스팅하는 데 사용됩니다. 새 항목이 생성되지 않으면 새로 추가된 브로커가 사용되지 않고 기존 브로커가 동일한 부하에 남아 있습니다. 클러스터에 브로커를 추가한 직후 add_broker 끝점을 사용하면 재조정 작업이 기존 브로커에서 새로 추가된 브로커로 복제본이 이동합니다. POST 요청에서 새 브로커를 brokerid 목록으로 지정합니다.
/remove_broker
/remove_broker 끝점은 하나 이상의 브로커를 제거하여 Kafka 클러스터를 축소하기 전에 사용됩니다. Kafka 클러스터를 축소하는 경우 복제본을 호스팅하는 경우에도 브로커가 종료됩니다. 이로 인해 복제되지 않은 파티션이 발생할 수 있으며 일부 파티션이 최소 ISR(동기화형 복제본)에 있을 수 있습니다. 이러한 잠재적인 문제를 방지하기 위해 /remove_broker 엔드포인트는 제거할 브로커에서 복제본을 이동합니다. 이러한 브로커가 더 이상 복제본을 호스팅하지 않으면 축소 작업을 안전하게 실행할 수 있습니다. 제거 중인 브로커를 POST 요청에서 brokerid 목록으로 지정합니다.

일반적으로 /rebalance 엔드포인트를 사용하여 브로커 간에 부하를 분산하여 Kafka 클러스터를 재조정합니다. 클러스터를 확장하거나 축소하고 그에 따라 복제본을 재조정하려는 경우에만 /add-broker 끝점 및 /remove_broker 끝점을 사용합니다.

리밸런스를 실행하는 절차는 세 개의 다른 엔드포인트에서 실제로 동일합니다. 유일한 차이점은 목록 브로커가 요청에 추가되거나 제거되는 것입니다.

13.6.2. 최적화 제안 승인 또는 거부

최적화 제안 요약은 제안된 변경 범위를 보여줍니다. 요약은 Cruise Control API를 통해 HTTP 요청에 대한 응답으로 반환됩니다.

/rebalance 엔드포인트에 POST 요청을 수행하면 최적화 제안 요약이 응답에 반환됩니다.

최적화 제안 요약 반환

curl -v -X POST 'cruise-control-server:9090/kafkacruisecontrol/rebalance'

요약을 사용하여 최적화 제안을 승인하거나 거부할지 여부를 결정합니다.

최적화 제안 승인
/rebalance 엔드포인트에 POST 요청을 작성하고 dryrun 매개변수를 false (기본값 true)로 설정하여 최적화 제안을 승인합니다. 크루즈 컨트롤은 이 제안을 Kafka 클러스터에 적용하고 클러스터 재조정 작업을 시작합니다.
최적화 제안 거부
최적화 제안을 승인하지 않도록 선택하는 경우 최적화 목표를 변경하거나 성능 튜닝 옵션을 재조정 한 다음 다른 제안을 생성할 수 있습니다. 시험 실행 매개변수 없이 요청을 다시 보내 새로운 최적화 제안을 생성할 수 있습니다.

최적화 제안을 사용하여 재조정에 필요한 결과를 평가하십시오. 예를 들어 요약은broker 및 intra-broker 이동을 설명합니다. 브랜드 간 리밸런스(broker)는 별도의 브로커 간에 데이터를 리밸런싱합니다. Intra-broker 재조정은 JBOD 스토리지 구성을 사용할 때 동일한 브로커의 디스크 간에 데이터를 이동합니다. 이러한 정보는 귀하가 진행하지 않고 제안을 승인하더라도 유용할 수 있습니다.

재조정할 때 Kafka 클러스터에서 추가 로드로 인해 최적화 제안을 거부하거나 승인을 지연할 수 있습니다.

다음 예에서 제안서는 별도의 브로커 간 데이터 재조정을 제안합니다. 리밸런스에는 브로커 간에 총 12MB의 데이터가 있는 55 파티션 복제본의 이동이 포함됩니다. 파티션 복제본 간 이동은 성능에 큰 영향을 미치지만 총 데이터 양이 크지 않습니다. 총 데이터가 훨씬 큰 경우 제안서를 거부하거나 Kafka 클러스터 성능에 미치는 영향을 제한하기 위해 리밸런스를 승인하는 시간을 거부할 수 있습니다.

성능 튜닝 옵션을 재조정하면 데이터 이동의 영향을 줄이는 데 도움이 될 수 있습니다. 리밸런스 기간을 연장할 수 있는 경우 리밸런스를 작은 일괄 처리로 나눌 수 있습니다. 한 번에 데이터 이동이 줄어들어 클러스터의 부하를 줄일 수 있습니다.

최적화 제안 요약 예

Optimization has 55 inter-broker replica (12 MB) moves, 0 intra-broker
replica (0 MB) moves and 24 leadership moves with a cluster model of 5
recent windows and 100.000% of the partitions covered.
Excluded Topics: [].
Excluded Brokers For Leadership: [].
Excluded Brokers For Replica Move: [].
Counts: 3 brokers 343 replicas 7 topics.
On-demand Balancedness Score Before (78.012) After (82.912).
Provision Status: RIGHT_SIZED.

이 제안은 또한 24 개의 파티션 리더를 다른 브로커로 이동하여 성능에 낮은 영향을 미칩니다.

균형 조정 점수는 최적화 제안이 승인되기 전후에 Kafka 클러스터의 전체 균형을 측정합니다. 균형 잡힌 점수는 최적화 목표를 기반으로합니다. 모든 목표를 충족하면 점수는 100입니다. 달성되지 않는 각 목표의 점수가 줄어듭니다. 균형 잡힌 점수를 비교하여 Kafka 클러스터가 리밸런스를 팔로우할 수 있는 것보다 더 적은지 확인합니다.

프로비저닝 상태는 현재 클러스터 구성이 최적화 목표를 지원하는지 여부를 나타냅니다. 프로비저닝 상태를 확인하여 브로커를 추가하거나 제거해야 하는지 확인합니다.

표 13.2. 최적화 제안 프로비저닝 상태
상태설명

RIGHT_SIZED

클러스터에는 최적화 목표를 충족하기 위해 적절한 브로커 수가 있습니다.

UNDER_PROVISIONED

클러스터는 프로비저닝되지 않으며 최적화 목표를 충족하기 위해 더 많은 브로커가 필요합니다.

OVER_PROVISIONED

클러스터는 과도하게 프로비저닝되며 최적화 목표를 충족하기 위해 더 적은 수의 브로커가 필요합니다.

미정

상태는 관련이 없거나 아직 결정되지 않았습니다.

13.6.3. 최적화 제안 요약 속성

다음 표에서는 최적화 제안에 포함된 속성에 대해 설명합니다.

표 13.3. 최적화 제안 요약에 포함된 속성
속성설명

N inter-broker 복제본 (yMB) 이동

N : 별도의 브로커 간에 이동할 파티션 복제본의 수입니다.

리밸런스 작업 중 성능에 미치는 영향: Relatively high.

Y MB: 별도의 브로커로 이동할 각 파티션 복제본의 크기 합계입니다.

리밸런스 작업 중 성능에 미치는 영향: 변수. MB 수가 클수록 클러스터가 리밸런스를 완료하는 데 시간이 오래 걸립니다.

N intra-broker 복제본 (yMB) 이동

N : 클러스터 브로커의 디스크 간에 전송되는 총 파티션 복제본 수입니다.

리밸런스 작업 중 성능에 미치는 영향: 기준으로 높지만 리브 로커 복제본보다 적습니다.

Y MB: 동일한 브로커의 디스크 간에 이동할 각 파티션 복제본의 크기 합계입니다.

리밸런스 작업 중 성능에 미치는 영향: 변수. 숫자가 클수록 클러스터 리밸런스를 완료하는 데 시간이 오래 걸립니다. 동일한 브로커의 디스크 간에 대량의 데이터를 이동하는 것은 별도의 브로커 간에 영향을 덜 받습니다(브루버 간 복제본 이동참조).

N 제외된 주제

최적화 제안에서 파티션 복제본/리더 이동 계산에서 제외된 주제의 수입니다.

다음 방법 중 하나로 주제를 제외할 수 있습니다.

cruisecontrol.properties 파일에서 topics.excluded.from.partition.movement 속성에 정규식을 지정합니다.

/rebalance 엔드포인트에 대한 POST 요청에서 excluded_topics 매개변수에 정규식을 지정합니다.

정규식과 일치하는 주제는 응답에 나열되며 클러스터 리밸런스에서 제외됩니다.

N 리더십 이동

N : 리더가 다른 복제본으로 전환될 파티션의 수입니다.

리밸런스 작업 중 성능에 미치는 영향: Relatively low.

N recent windows

N : 최적화 제안서를 기반으로 하는 메트릭 창 수입니다.

덮여 있는 파티션의 N%

N %: 최적화 제안이 적용되는 Kafka 클러스터의 파티션 백분율입니다.

On-demand balancedness 점수 전(nn.yy) 이후 (nn.yyy)

Kafka 클러스터의 전체 균형 측정.

크루즈 컨트롤은 우선 순위( default.goals 또는 사용자 제공 대상 목록의 목표 위치)를 포함하여 여러 요소를 기반으로 모든 최적화 목표에 균형성 점수를 할당합니다. On-demand Balancedness 점수는 각 목표의 균형 점수 합계를 100에서 위반하여 계산됩니다.

Before 점수는 Kafka 클러스터의 현재 구성을 기반으로 합니다. After 점수는 생성된 최적화 제안을 기반으로 합니다.

13.6.4. 캐시된 최적화 제안

cruise Control은 구성된 기본 최적화 목표에 따라 캐시된 최적화 제안을 유지합니다. 워크로드 모델에서 생성된 캐시된 최적화 제안은 Kafka 클러스터의 현재 상태를 반영하도록 15분마다 업데이트됩니다.

가장 최근 캐시된 최적화 제안은 다음과 같은 목표 구성이 사용될 때 반환됩니다.

  • 기본 최적화 목표
  • 현재 캐시된 제안에 의해 충족될 수 있는 사용자 제공 최적화 목표

캐시된 최적화 제안 새로 고침 간격을 변경하려면 cruisecontrol.properties 파일에서 proposal.expiration.ms 설정을 편집합니다. Cruise Control 서버의 로드가 증가하지만 빠르게 변화하는 클러스터의 더 짧은 간격을 고려하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.