[Kafka] The coordinator is not aware of this member
문제점 ???
Kafka Client에서 eachBatch로 message를 받아와 작업을 하고 있었다. 그러나 작업이 성공적으로 끝나 resolveOffset을 하여도 계속 반복으로 작업을 하는 것이다. 즉, 특정 batch안에 있는 message를 모두 다시 작업</span >하고 있었다. 그리고 자세히 살펴보니 아래와 같은 에러도 표시되어 있었다.
에러 메세지
Error 1 : {"level":"ERROR","timestamp":"2022-02-15T05:41:20.922Z","logger":"kafkajs","message":"[Connection] Response Heartbeat(key: 12, version: 3)","broker":"kafka-kafka-1.kafka-kafka-brokers.kafka.svc:???","clientId”:”????”,”error":"The coordinator is not aware of this member","correlationId":9,"size":10}
Error 2 : {"level":"ERROR","timestamp":"2022-02-15T05:41:20.922Z","logger":"kafkajs","message":"[Runner] The coordinator is not aware of this member, re-joining the group","groupId”:”?????”,”memberId”:”???????”,”error":"The coordinator is not aware of this member","retryCount":0,"retryTime":359}
왜 이러한 에러가 표시되었고 어떻게 해결할 수 있을까? 한번 알아보자.
문제 원인 및 해결 방법
◆ 문제 원인
문제의 원인을 파악하기 위해 The coordinator is not aware of this member</span >을 검색하여 알아보았다. 결론은 Kafka Server에서는 해당 batch message를 믿을(?) 수 없다는 것이었다. 너무 오랜 시간동안 서버에 떠나 있었기 때문이라고 보면 된다.
◆ 해결 방법
원인은 믿을 수 없었기 때문에 이 메세지가 지금 작업 중이라는 사실을 서버에 계속 알려주어야 한다</span >. 이때 사용하는 것이 sessionTimeout, heartbeatInterval이다. 필자는 Kafka client에서 default 값으로 설정되어 있는 시간보다 오래 작업</span >을 했기 때문에 문제가 발생하였던 것이다. 따라서 sessionTimeout을 default 값보다 크게 주었고, heartbeatInterval 함수를 호출하며 내가 작업 중이다라는 사실을 Server에 계속 알려주었다.
참고자료
마지막
해당 내용은 틀릴 수도 있습니다. 틀린 내용이 있으면 조언 부탁드립니다.
'에러 모음 > 기타' 카테고리의 다른 글
[개발자 도구] 개발자 도구 콘솔에서 console.log를 믿으면 안되는 이유 (0) | 2024.07.10 |
---|---|
[emotion] You may have forgotten to import it. 에러 해결하기 (0) | 2024.07.01 |
[C#] ODBC 삭제 에러, 쿼리 에러 (0) | 2021.08.24 |
uuidv4() 에러 해결하기 (0) | 2021.05.31 |
C# SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다. (0) | 2021.04.29 |