Amazon MSK 클러스터를 업그레이드할 때 문제를 해결하려면 어떻게 해야 하나요?

4분 분량
0

Amazon Managed Streaming for Apache Kafka(Amazon MSK) 클러스터를 업그레이드할 때 문제를 해결해야 합니다.

해결 방법


고려 사항 및 모범 사례

Amazon MSK 클러스터를 업그레이드하기 전에 다음 사항에 유의하세요.

  • 클러스터의 복제 계수를 3 이상의 값으로 설정해야 합니다. 복제 계수를 1로 설정하면 롤링 업데이트 중에 오프라인 파티션이 발생할 수 있습니다. 복제 계수를 2로 설정하면 데이터가 손실될 수 있습니다.

  • 최소 동기화 복제본(minISR)을 (복제 계수 - 1) 이하의 값으로 설정합니다. 복제 계수와 같은 minISR 값은 롤링 업데이트 중에 클러스터에 생성하지 못할 수 있습니다. minISR이 2이면 하나의 복제본이 오프라인 상태일 때 3방향으로 복제된 토픽을 사용할 수 있습니다.

  • 클라이언트 연결 문자열에 각 가용성 영역의 브로커가 하나 이상 포함되어 있는지 확인하세요. 클라이언트의 연결 문자열에 여러 브로커가 있으면 특정 브로커가 업데이트를 위해 오프라인 상태일 때 장애 조치할 수 있습니다.

  • 클러스터 구성을 업데이트하기 전에 클러스터가 활성 상태인지 확인하세요.

  • 트래픽이 적은 시간에 클러스터를 업그레이드하는 것이 가장 좋습니다. Apache Kafka 버전을 업그레이드하는 데 필요한 시간은 클러스터의 브로커 수에 따라 다릅니다.

  • 클러스터 버전을 업그레이드하는 동안에는 클러스터에 다른 업데이트를 수행할 수 없습니다. 업그레이드하는 동안에도 클러스터에서 계속 생성 및 소비할 수 있습니다.

  • 복제 계수가 3 미만인 토픽(예: 복제 계수가 3 미만인 토픽)을 제외하고는 업그레이드 중에 데이터가 손실될 위험이 없습니다. 이 상황에서도 브로커가 온라인 상태가 되면 파티션을 다시 사용할 수 있습니다.

  • Amazon MSK 콘솔 또는 AWS Command Line Interface(AWS CLI)를 통해 Amazon MSK 클러스터의 Apache Kafka 버전을 업데이트할 수 있습니다.

  • Amazon MSK 클러스터를 최신 버전의 Apache Kafka로 업데이트할 수 있습니다. 이전 버전으로는 업데이트할 수 없습니다.

  • Amazon MSK는 서버 소프트웨어만 업데이트하고 클라이언트는 업데이트하지 않습니다. 따라서 클러스터를 업그레이드할 때 클라이언트 소프트웨어 버전으로 새 Apache Kafka 버전의 기능을 사용할 수 있는지 확인해야 합니다.

  • 인스턴스 유형을 업데이트해도 클러스터 버전은 업그레이드되지 않습니다.

업그레이드 모니터링

Amazon MSK 클러스터를 생성할 때, 클러스터에 필요한 Apache Kafka 버전을 지정합니다. 클러스터를 생성한 후 다음을 수행하여 클러스터를 최신 버전의 Apache Kafka로 업데이트할 수도 있습니다.

  1. Amazon MSK 콘솔을 엽니다.

  2. 업그레이드할 클러스터를 선택합니다.

  3. 속성 탭의 Apache Kafka 버전 섹션에서 업그레이드를 선택합니다.

자세한 내용은 Apache Kafka 버전 업데이트를 참조하세요.

클러스터 작업 탭에서 업데이트 진행 상황을 모니터링할 수 있습니다. 이 탭에서 업그레이드 초기화, Apache Kafka 버전 업데이트 중, 업그레이드 마무리 등 업그레이드의 각 단계를 모니터링할 수 있습니다. 업그레이드가 17%에 도달하면 업그레이드가 완료되는 데 몇 시간이 걸릴 수 있습니다. Amazon MSK는 순차적으로 업그레이드를 수행한다는 점에 유의하세요. 한 번에 하나의 브로커가 클러스터에서 제거되고 해당 Kafka 버전이 업그레이드됩니다. 다음 브로커가 제거되면 이 브로커가 다시 참여합니다. 이 프로세스는 마지막 브로커가 새 Kafka 버전으로 업그레이드될 때까지 계속됩니다.

일반적인 오류 문제 해결

클러스터 구성 업데이트 중 오류 클러스터 구성을 업데이트하는 동안 문제가 발생했습니다. 문제가 지속되면 AWS Support에 문의하세요. 브로커당 파티션 수가 권장 제한을 초과했습니다. 브로커를 더 추가하고 브로커당 파티션을 권장 한도 이하로 다시 정렬한 다음 요청을 다시 시도하세요.

-또는-

업그레이드가 '업그레이드 초기화' 단계에서 멈췄습니다.

브로커당 파티션 수가 권장값을 초과할 때 이 오류가 발생합니다. 브로커에서 파티션 처리는 리소스 집약적인 워크로드입니다. 파티션 수가 권장 제한보다 많으면 클러스터의 사용 가능한 리소스에 부담을 줄 수 있습니다. 이 상황에서는 클러스터에서 다음 작업을 수행할 수 없습니다.

  • 클러스터 구성 업데이트

  • 클러스터에 대한 Apache Kafka 버전 업데이트

  • 클러스터를 더 작은 브로커 유형으로 업데이트

이 오류를 해결하려면 다음을 시도해 보세요.

  • 클러스터 내의 브로커 수를 늘립니다. 그런 다음 파티션을 재할당하여 브로커당 파티션 수를 줄입니다. Amazon CloudWatch 지표를 사용하여 브로커당 파티션 수를 확인합니다. 파티션 수는 복제본을 포함하여 브로커당 토픽 파티션의 총 수입니다. 기본적으로 토픽당 파티션 수는 1이고 복제 계수는 3-AZ 클러스터의 경우 3입니다. 따라서 복제 계수 3에는 메인 파티션이 포함되므로 토픽당 3개의 파티션이 있습니다. 동일한 클러스터의 다른 브로커로 파티션을 이동하려면 kafka-reassign-partitions.sh라는 파티션 재할당 도구를 사용할 수 있습니다.

  • 사용하지 않는 토픽을 삭제하여 파티션 수를 줄이세요. 다음 명령을 사용하여 클러스터의 모든 토픽을 파티션 수와 함께 확인할 수 있습니다. 명령을 실행하기 전에 Amazon Elastic Compute Cloud(Amazon EC2) 머신에서 Apache Kafka 클라이언트를 설정해야 합니다.

bin/kafka-topics.sh —bootstrap-server localhost:9092 —describe —topic test
AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠