inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

카프카 완벽 가이드 - 코어편

Consumer와 auto.offset.reset의 내부 동작 메커니즘 상세 이해

console consumer는 __consumer_offset에 offset을 기록하지 않나요?

131

바나나우유빨대

작성한 질문수 1

0

현재 상황 :

kafka-console-consumer --consumer.config $CONFLUENTHOME/consumer_temp.config --bootstrap-server localhost:9092 --topic __consumer_offsets --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter"

[2024-11-08 08:54:50,280] INFO [GroupCoordinator 0]: Assignment received from leader console-consumer-63e25045-a918-49c9-bb02-abddbac461f9 for group console-consumer-66204 for generation 1. The group has 1 members, 0 of which are static. (kafka.coordinator.group.GroupCoordinator)

의문점 :

 

[질문]

왜 콘솔컨슈머에 대한 메시지는 나오지 않나요?

여전히 자바 컨슈머를 작동시키면 __consumer_offsets토픽에 대한 메시지는 잘 나오는 상황입니다

이것저것 실험해보다가 도저히 답이 나오질 않아서 첫 질문 드립니다

 

consumeroffsetinfo.png.webp

 

강의에서는 컨슈머 그룹아이디를 갖는 컨슈머를 직접 생성해왔었는데, 지금은 컨슈머 그룹아이디를 갖는 컨슈머를 따로 생성 하진 않아서

그룹에 속하지 않은 컨슈머라 메시지가 안뜨는 것인지

아니면 원래 콘솔컨슈머의 __consumer_offset정보는 읽을 수 없는건지..

도와주세요

kafka

답변 2

0

권 철민

안녕하십니까,

저도 다 테스트는 해보진 않았지만,

kafka-console-consumer --consumer.config /home/min/consumer_temp.config \

--bootstrap-server localhost:9092 --topic __consumer_offsets \

--formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter

명령어가 완벽하게 동작하는 건 아닌것 같습니다. 명확한 원인은 찾지 못했지만, 특정 경우에 출력이 안되는 경우가 있는 것 같습니다. 아마도 명확하게 group 명이 정해지지 않은 경우에는 잘 안되는 것 같습니다.

kafka-console-consumer 수행 시에 --group group_test_01 과 같이 --group으로 group 명을 설정한 뒤 함 수행해 보십시요.

그리고 해당 명령어는 consumer와 __consumer_offsets가 어떻게 동작하는지 이해하기 위해서만 적용해 보시면 좋을 것 같습니다.

 

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 바나나우유빨대님.

Kafka에서 kafka-console-consumer 명령어를 사용하여 메시지를 소비하게 되면, 기본적으로 새로운 Consumer Group이 생성됩니다. 이 Consumer Group의 메시지는 __consumer_offsets 토픽에 기록이 됩니다. 하지만 특정 상황에서는 콘솔에서 조회가 잘 안될 수 있습니다.

핵심 요약:

  1. 콘솔 컨슈머와 오프셋 기록: 콘솔 컨슈머(kafka-console-consumer)는 기본적으로 새로운 Consumer Group을 생성하므로, 새로운 Consumer Group의 오프셋 정보가 __consumer_offsets에 기록됩니다. 그러나, 오프셋을 확인하는 과정에서 리더기 때문에 정상적으로 보이지 않을 수 있습니다.
  2. 자바 컨슈머와의 차이: 반면, 자바 컨슈머는 거의 항상 이름이 명시적으로 지정되거나 설정된 Consumer Group을 사용하므로 __consumer_offsets에 기록된 오프셋을 정확히 확인할 수 있습니다.

문제 해결을 위한 방법:

  • 특정 오프셋 기록 확인: kafka-console-consumer가 시작될 때 컨슈머 그룹 이름을 명백하게 지정하여 오프셋이 잘 기록되는지 확인해 보세요. 즉, --group 옵션을 사용하여 특정 그룹 이름으로 콘솔 컨슈머를 시작할 수 있습니다.
  • 로그 및 설정 확인: server.properties 파일 또는 consumer.properties 파일에서 로그 세부 수준을 조정해보시고, 설정 파일의 구성 요소가 올바르게 설정되어 있는지 확인해 주세요.

참고 자료

위의 내용을 통해 확인 하신 후에도 문제가 해결되지 않는다면 추가적인 캐시 클리어 및 Kafka 브로커 관련 로그를 살펴보시는 것도 방법입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

virtual box 설치 문제

0

59

2

카프카 서버 구축 관련 문의

0

62

2

카프카 토픽 Key 타입 변경에 관한 질문

0

65

2

Zookeeper에서 KRaft

0

75

1

카프카 학습과 관련하여 질문 드립니다

0

95

2

파티션 증가시 비용 증가 고려

0

66

2

Kafka 초기 Partition 개수 설정 관련 질문

0

80

2

VM 과 도커의 차이

0

135

2

vm 어댑터설정 문의

0

73

2

Cooperative Sticky Rebalancing 질문

0

55

2

consumer 설정 질문

0

65

2

consumer.poll 질문입니다.

1

66

2

mainThread.join() 관련 질문

0

54

2

문의

0

149

2

멀티 브로커 설정 중 포트 충돌 발생

0

118

2

Consumer Group 강의 Lag 질문있습니다!

0

104

2

강의 설명 및 코드 정리

0

171

2

실습 코드는 어디서 받나요.. 아무리 찾아도 엄네요..

0

148

1

java.nio.BufferUnderflowException 에러 발생합니다..

0

153

3

KafkaTimeoutError:

0

155

2

acks 1 이면 비동기가 아니지 않나요?!

0

182

2

Producer의 메시지 비동기화 전송 구현 강좌 내용 중 질문

0

105

2

자문자답: 데이터 누락된다고 하시는 분 참고하세요.

0

214

2

자문자답: kafka Error connecting to node utuntu-20.myguest.virtualbox.org:9092

0

197

2