복붙노트

[SPRING] 카프카 탄력성 - 그룹 코디네이터

SPRING

카프카 탄력성 - 그룹 코디네이터

내가 알기에, 중개인 중 한 명은 소비자 균형 조정을 담당하는 그룹 조정자로 선정됩니다.

Discovered coordinator host:9092 (id: 2147483646 rack: null) for group good_group

3 및 3 파티션의 복제 요소가있는 3 노드가 있습니다. 모든 것이 훌륭하고 비 조정자 노드에서 kafka를 죽이면 소비자는 여전히 메시지를 받고 있습니다.

하지만 코디네이터를 사용하여 특정 노드를 종료하면 재조정이 발생하지 않고 자바 소비자 애플리케이션에 메시지가 수신되지 않습니다.

2018-05-29 16:34:22.668 INFO  AbstractCoordinator:555 - Discovered coordinator host:9092 (id: 2147483646 rack: null) for group good_group.
2018-05-29 16:34:22.689 INFO  AbstractCoordinator:600 - Marking the coordinator host:9092 (id: 2147483646 rack: null) dead for group good_group
2018-05-29 16:34:22.801 INFO  AbstractCoordinator:555 - Discovered coordinator host:9092 (id: 2147483646 rack: null) for group good_group.
2018-05-29 16:34:22.832 INFO  AbstractCoordinator:600 - Marking the coordinator host:9092 (id: 2147483646 rack: null) dead for group good_group
2018-05-29 16:34:22.933 INFO  AbstractCoordinator:555 - Discovered coordinator host:9092 (id: 2147483646 rack: null) for group good_group.
2018-05-29 16:34:23.044 WARN  ConsumerCoordinator:535 - Auto offset commit failed for group good_group: Offset commit failed with a retriable exception. You should retry committing offsets. 

내가 뭔가 잘못하고 있는데 이것에 대한 방법이 있습니까?

해결법

  1. ==============================

    1.그룹 코디네이터는 소비자 그룹의 모든 소비자로부터 하트 비트를받습니다. 활성 고객 목록을 유지 관리하고이 목록의 변경에 대한 재조정을 시작합니다. 그런 다음 그룹 리더는 재조정 활동을 실행합니다.

    그룹 코디네이터는 소비자 그룹의 모든 소비자로부터 하트 비트를받습니다. 활성 고객 목록을 유지 관리하고이 목록의 변경에 대한 재조정을 시작합니다. 그런 다음 그룹 리더는 재조정 활동을 실행합니다.

    그래서 그룹 코디네이터를 죽이면 재조정이 중단됩니다.

    최신 정보

    그룹 코디네이터 브로커가 종료 된 경우 사육사에게 알림이 전송되고 선거는 활성 브로커로부터 새로운 그룹 코디네이터를 자동으로 승격시키기 시작합니다. 그룹 코디네이터와 아무런 관련이 없습니다. 로그를 보자.

    2018-05-29 16:34:23.044 WARN  ConsumerCoordinator:535 - Auto offset commit failed for group good_group: Offset commit failed with a retriable exception. You should retry committing offsets.
    

    내부 항목 __consumer_offset의 복제 요소는 아마도 기본값 1을가집니다. server.properties 파일에 default.replication.factor 및 offsets.topic.replication.factor 값이 있는지 확인할 수 있습니까? 값이 기본적으로 1이면 더 큰 값으로 변경해야합니다. 이렇게하지 않으면 그룹 코디네이터가 종료되어 백업없이 오프셋 관리자가 중지됩니다. 따라서 오프셋을 커밋하는 작업을 수행 할 수 없습니다.

  2. from https://stackoverflow.com/questions/50593008/kafka-resiliency-group-coordinator by cc-by-sa and MIT license