13.10. 최적화 제안 승인
최근 생성된 최적화 제안에 만족하는 경우 Cruise Control에 클러스터 재조정을 시작하고 파티션 재할당을 시작하도록 지시할 수 있습니다.
최적화 제안을 생성하고 클러스터 리밸런스 시작 사이에 가능한 한 적은 시간을 남겨 두십시오. 원래 최적화 제안을 생성한 후 잠시 경과한 경우 클러스터 상태가 변경될 수 있습니다. 따라서 시작된 클러스터 리밸런스가 검토한 것과 다를 수 있습니다. 의심의 여지가있는 경우 먼저 새로운 최적화 제안을 생성합니다.
상태가 "Active"인 하나의 클러스터 리밸런스만 한 번에 진행 중일 수 있습니다.
사전 요구 사항
- Cruise Control에서 최적화 제안을 생성 했습니다.
프로세스
dryrun=false
매개변수를 사용하여/rebalance
,/add_broker
또는/remove_broker
엔드포인트에 POST 요청을 보냅니다./add_broker
또는/remove_broker
엔드포인트를 사용하여 브로커를 포함하거나 제외한 제안을 생성한 경우 동일한 엔드포인트를 사용하여 지정된 브로커와 또는 없이 재조정을 수행합니다./rebalance
에 대한 요청 예curl -X POST 'cruise-control-server:9090/kafkacruisecontrol/rebalance?dryrun=false'
/add_broker
에 대한 요청 예curl -v -X POST 'cruise-control-server:9090/kafkacruisecontrol/add_broker?dryrun=false&brokerid=3,4'
/remove_broker
에 대한 요청 예curl -v -X POST 'cruise-control-server:9090/kafkacruisecontrol/remove_broker?dryrun=false&brokerid=3,4'
크루즈 컨트롤은 클러스터 재조정을 시작하고 최적화 제안을 반환합니다.
- 최적화 제안에 요약된 변경 사항을 확인하십시오. 변경 사항이 예상되지 않은 경우 재조정을 중지 할 수 있습니다.
/user_tasks
엔드포인트를 사용하여 클러스터 리밸런스의 진행 상황을 확인합니다. 클러스터 리밸런스 진행 중 상태가 "Active"입니다.Cruise Control 서버에서 실행되는 모든 클러스터 재조정 작업을 보려면 다음을 수행합니다.
curl 'cruise-control-server:9090/kafkacruisecontrol/user_tasks' USER TASK ID CLIENT ADDRESS START TIME STATUS REQUEST URL c459316f-9eb5-482f-9d2d-97b5a4cd294d 0:0:0:0:0:0:0:1 2020-06-01_16:10:29 UTC Active POST /kafkacruisecontrol/rebalance?dryrun=false 445e2fc3-6531-4243-b0a6-36ef7c5059b4 0:0:0:0:0:0:0:1 2020-06-01_14:21:26 UTC Completed GET /kafkacruisecontrol/state?json=true 05c37737-16d1-4e33-8e2b-800dee9f1b01 0:0:0:0:0:0:0:1 2020-06-01_14:36:11 UTC Completed GET /kafkacruisecontrol/state?json=true aebae987-985d-4871-8cfb-6134ecd504ab 0:0:0:0:0:0:0:1 2020-06-01_16:10:04 UTC
특정 클러스터 리밸런스 작업의 상태를 보려면
user-task-ids
매개변수와 작업 ID를 제공합니다.curl 'cruise-control-server:9090/kafkacruisecontrol/user_tasks?user_task_ids=c459316f-9eb5-482f-9d2d-97b5a4cd294d'
(선택 사항) 축소할 때 브로커 제거
재조정이 완료되면 Kafka 클러스터를 축소하기 위해 제외된 브로커를 중지할 수 있습니다.
제거 중인 각 브로커에 해당 로그에 라이브 파티션이 없는지 확인합니다(
log.dirs
).ls -l <LogDir> | grep -E '^d' | grep -vE '[a-zA-Z0-9.-]+\.[a-z0-9]+-delete$'
로그 디렉터리가 정규식과 일치하지 않는 경우
\.[a-z0-9]-delete$
, 활성 파티션이 여전히 존재합니다. 활성 파티션이 있는 경우 리밸런스가 완료되었거나 최적화 제안을 위한 구성을 확인합니다. 제안을 다시 실행할 수 있습니다. 다음 단계로 이동하기 전에 활성 파티션이 없는지 확인합니다.브로커를 중지합니다.
su - kafka /opt/kafka/bin/kafka-server-stop.sh
브로커가 중지되었는지 확인합니다.
jcmd | grep kafka