Home
MQ
Kafka Consumer exception (BufferUnderflowException, IllegalStateException)
devfoxstar
devfoxstar
March 17, 2023
1 min

Table Of Contents

01
오류
02
원인
03
해결 - Topic 및 Group 재정의
04
해결 - Zookeeper Port 변경
05
해결 - Kafka Port 변경
06
해결 - 방화벽 및 바이러스 프로그램 설정

오류


Kafka에서 Consumer를 구성하고 실행하면, 다양한 Exception 상황을 맞이합니다.
그중에서 BufferUnderflowException, IllegalStateException 오류를 알아보겠습니다.

아래는 오류 중에 일부를 요약한 내용입니다.

[org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer] 0 0 - Consumer exception 
org.springframework.kafka.KafkaException: Seek to current after exception; nested exception is java.nio.BufferUnderflowException
Caused by: java.nio.BufferUnderflowException: null

[org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer] 0 0 - Consumer exception 
org.springframework.kafka.KafkaException: Seek to current after exception; nested exception is java.lang.IllegalStateException: There are no in-flight requests for node 0
Caused by: java.lang.IllegalStateException: There are no in-flight requests for node 0

원인


원인은 다양하지만, 보통 Kafka 서버의 포트 문제인 경우가 많습니다.
특히 로컬에서 개발을 위해 Kafka 서버를 구동하는 경우, 여러 포트간 충돌이 발생합니다.

사실 서버나 클라우드 환경에서는 포트 충돌이 일어날 확률이 높지 않습니다.
보통은 Kafka 단독으로 세팅하기 때문입니다.

그리고 일부 Topic, Consumer Group, Offset 등도 문제가 됩니다.

해결 - Topic 및 Group 재정의


일부긴 하지만 Topic에 문제가 있는 경우가 있습니다.
그래서 해당 Topic을 삭제하고 다시 생성해 줍니다.

Group 역시 다른 이름으로 재지정 해서 테스트 해봅니다.

해결 - Zookeeper Port 변경


SpringBoot에서 내장 Tomcat의 기본 포트는 8080입니다.
그런데 Zookeeper 서버의 기본 포트 역시 8080입니다.

둘 중 하나의 포트를 변경해 줍니다.

해결 - Kafka Port 변경


Kafka 서버의 기본 포트는 9092입니다.
만약 해당 포트를 다른 프로그램에서 사용 중이라면 오류가 발생합니다.

마찬가지로 둘 중 하나의 포트를 변경해 줍니다.
참고로 9092는 SonarQube가 사용하는 Embeded H2 포트입니다.

해결 - 방화벽 및 바이러스 프로그램 설정


Kafka를 실행하기 위해서는 8080, 9092 포트를 허용해야 합니다.
하지만 방화벽이나 바이러스 프로그램에서 해당 포트를 허용하지 않으면 오류가 발생합니다.

일단 방화벽과 바이러스 프로그램을 끄고 테스트 해봅니다.
정상 처리 된다면 해당 포트만 허용하는 설정을 진행합니다.


Tags

#MQ#MessageQueue#Zookeeper#Kafka#Consumer#Exception

Related Posts

Kafka Topic ReplicationFactor, PartitionCount 적정 개수 설정
August 14, 2023
1 min
© 2024, All Rights Reserved.

Quick Links

About Me

Media