내용으로 건너뛰기

msk consumer에서 특정 파티션을 소비하지 못하는 문제

0

안녕하세요

msk consumer에서 특정 파티션을 소비하지 못하는 문제가 있습니다. 특정 파티션의 특정 offset 이후로는 소비가 되지 않고 있습니다.(메세지에 별다른 문제는 없습니다) 이전 offset으로 돌리면 소비가 되지만 특정 offset 차례가 될 경우 소비가 되지 않습니다 offset을 latest로 변경후 재실행했지만 최근 offset도 소비되지 않습니다 (결국 특정 offset 이후 offset들은 모두 소비되지 않는것) 컨슈머그룹을 삭제 후 재생성하면 문제가 되는 파티션은 아예 오프셋 정보가 없는채로 생성됩니다. 해당 토픽에 연결된 3개의 컨슈머 모두 동일한 증상입니다.

원인이 무엇일까요? 특이사항으로 브로커 유형을 kafka.m7g.large > kafka.m7g.xlarge로 업데이트 했습니다.

참고- 현재 브로커 3대. 토픽의 파티션은 100개. 89번의 33844411 오프셋부터 문제

질문됨 2년 전99회 조회
2개 답변
0

이 문제의 원인은 여러 가지일 수 있지만, 주요 가능성 몇 가지를 살펴보겠습니다:

  1. 브로커 크기 변경: kafka.m7g.large에서 kafka.m7g.xlarge로 브로커 유형을 업데이트한 것이 문제의 원인일 수 있습니다. 이러한 변경으로 인해 파티션 재할당이나 데이터 재조정이 발생했을 수 있으며, 이 과정에서 특정 파티션의 데이터 일관성에 문제가 생겼을 가능성이 있습니다.

  2. 파티션 데이터 손상: 89번 파티션의 33844411 오프셋 이후에 데이터 손상이 발생했을 수 있습니다. 이로 인해 컨슈머가 해당 오프셋 이후의 메시지를 읽지 못할 수 있습니다.

  3. 메타데이터 불일치: 브로커와 ZooKeeper 간의 메타데이터 불일치로 인해 특정 파티션의 오프셋 정보가 올바르게 관리되지 않을 수 있습니다.

  4. 컨슈머 그룹 오프셋 동기화 문제: 컨슈머 그룹의 오프셋 정보가 제대로 동기화되지 않아 특정 파티션의 소비가 중단될 수 있습니다.

  5. 네트워크 또는 보안 그룹 설정: 브로커 크기 변경 후 네트워크 구성이나 보안 그룹 설정이 올바르게 업데이트되지 않아 특정 파티션에 대한 접근에 문제가 생겼을 수 있습니다.

이 문제를 해결하기 위해 다음과 같은 조치를 취할 수 있습니다:

  1. 문제가 있는 파티션의 데이터 무결성을 확인합니다.
  2. 브로커와 ZooKeeper의 메타데이터를 검사하고 필요한 경우 동기화합니다.
  3. MSK 클러스터의 상태와 로그를 검토하여 오류나 이상 징후를 찾습니다.
  4. 필요한 경우 문제가 있는 파티션을 재생성하거나 재할당합니다.
  5. 네트워크 설정과 보안 그룹을 재검토하고 필요한 경우 조정합니다.

만약 이러한 조치로도 문제가 해결되지 않는다면, AWS 지원팀에 문의하여 더 자세한 조사를 요청하는 것이 좋습니다.
Sources
Best practices - Amazon Managed Streaming for Apache Kafka
Troubleshoot MSK Replicator - Amazon Managed Streaming for Apache Kafka

답변함 2년 전
0

답변감사합니다. 추가로 카프카 컨슈머에서는 정상동작하고 카프카스트림에서만 문제가 발생하고 있습니다.

문제가 있는 파티션을 재생성하거나 재할당할수 있는 방법도 알려주시면 감사하겠습니다.

답변함 2년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.