본문으로 바로가기

 

[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에 계속 알려주었다.

참고자료

마지막

해당 내용은 틀릴 수도 있습니다. 틀린 내용이 있으면 조언 부탁드립니다.

반응형