MSK 브로커의 권장 파티션수를 넘어가는 경우에 발생하는 문제를 해결하는 방법
MSK 클러스터내의 브로커의 파티션수가 권장 파티션수를 넘어가는 경우 클러스터의 구성 업데이트, 버전업데이트 등의 작업이 수행되지 않을 수 있습니다. 해당 기사에서는 이러한 경우를 직면했을때 또는 미리 예방하는 방법을 안내해드립니다.
문제 상황
일반적으로 브로커의 유형에 따라 권장되는 파티션 수(리더 및 팔로어 복제본 포함)가 정해져있습니다. 만일 클러스터 브로커의 권장 파티션수를 넘어가는 경우 클러스터에 과부하가 주어지게 되며 아래와 같은 작업이 수행을 못할수도 있습니다. [1]
- 클러스터 구성 업데이트
- 클러스터에 대한 Apache Kafka 버전 업데이트
- 더 작은 브로커 유형으로 클러스터 업데이트
- AWS Secrets Manager 암호를 SASL/SCRAM 인증이 있는 클러스터와 연결
일반적으로 브로커 유형에 따라 권장되는 파티션수는 아래와 같습니다.
브로커 유형 | 브로커당 권장 파티션 수(리더 및 팔로어 복제본 포함) |
---|---|
kafka.t3.small | 300 |
kafka.m5.large 또는 kafka.m5.xlarge | 1000 |
kafka.m5.2xlarge | 2000 |
kafka.m5.4xlarge , kafka.m5.8xlarge , kafka.m5.12xlarge , kafka.m5.16xlarge 또는 kafka.m5.24xlarge | 4000 |
kafka.m7g.large 또는 kafka.m7g.xlarge | 1000 |
kafka.m7g.2xlarge | 2000 |
kafka.m7g.4xlarge ,, 또는 kafka.m7g.8xlarge kafka.m7g.12xlarge kafka.m7g.16xlarge | 4000 |
문제 해결 방법
만일 클러스터 구성 업데이트, 버전 업데이트 등의 작업이 수행되지 않는 경우에 CloudWatch에서 클러스터 브로커의 PartitionCount를 확인합니다. [2] 브로커의 PartitionCount가 권장 파티션의 수를 넘어간것을 확인하면 아래와 같은 방법을 선택하여 권장 파티션 수 이내로 클러스터를 되돌릴수 있습니다.
- 토픽 및 파티션 정리: 사용하지 않는 토픽 및 파티션을 정리하여 브로커당 권장 파티션 수 이내로 줄인 뒤, Reassign partitions 동작을 수행합니다.[3]
- 인스턴스 타입 변경 및 노드 추가: 브로커 노드의 수를 늘리고 클러스터의 인스턴스 타입을 확장하여 최대 파티션 제한을 늘린 뒤 클러스터의 처리량을 늘린뒤에 Reassign partitions 을 수행합니다.[4]
참고
[1] 클러스터 크기를 적절하게 조정: 브로커당 파티션 수
https://docs.aws.amazon.com/ko_kr/msk/latest/developerguide/bestpractices.html#partitions-per-broker
[2] 다음을 통한 모니터링을 위한 Amazon MSK 메트릭 CloudWatch: DEFAULT
수준 모니터링
https://docs.aws.amazon.com/ko_kr/msk/latest/developerguide/metrics-details.html#default-metrics
[3] Re-assign partitions after changing cluster size
[4] AWS Management Console을 사용하여 브로커 유형 업데이트
相關內容
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前