inflearn logo
강의

講義

知識共有

カフカパーフェクトガイド - コネクト編

kafka-avro-console-producer/consumerを利用してAvroメッセージを送信と受信

메시지 발행이 안 됩니다.

75

jaeheonna9271

投稿した質問数 1

0

kafka-console-producer는 여전히 잘 동작합니다. 그런데 kafka-avro-console-producer로 메시지를 발행하면, 아무런 에러메시지 없어, 그냥 메시지 발행이 안 됩니다. schema-registry에는 잘 반영이 되는데, 토픽도 안 생기고, 미리 토픽을 만들어 발행해도 아무 반응이 없습니다. kafka-avro-console-producer와 kafka-broker간의 문제인 것 같은데,,
가령 kafka-console-producer, kafka-console-consumer, kafka-avro-console-consumer는 에러가 나든 안 나든 broker랑 상호작용을 하는데, 유독 kafka-avro-console-producer만 문제네요.. 혹시 이런 케이스를 겪어보셨을까요?

kafka 데이터-엔지니어링

回答 2

0

dooleyz3525

안녕하십니까,

강의 실습 환경에서 실습 코드를 수행할 때 잘 안되시는 건가요?

kafka-avro-console-consumer --bootstrap-server localhost:9092 --topic avro_test \ --property schema.registry.url=http://localhost:8081 --from-beginning

아니면 별도의 운영 환경에서 안되시는 건가요?(별도의 운영 환경이라면 제가 도와 드릴 방법이 막연하군요)

실습 환경에서 안되시는 거라면,

schema-registry에 잘 반영이 된다고 하셨는데, subject가 출력이 된다는 말씀이신지요? 아래 명령으로 subject가 topic명 - key명/value 명으로 되어 있는지 확인 부탁드립니다.

http GET http://localhost:8081/subjects

등록이 되었는데도 여전히 안되면

kafka topic 디렉토리에 가시면 _schema topic이 있습니다. 이걸 삭제해 주십시요. 삭제전에 schema registry를 내려 주십시요.

kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic _schemas

그리고 zookeeper, kafka, connect, schema registry를 다 내리고 다시 기동하셔서 다시 한번 확인 부탁드립니다.

 

감사합니다.

 

0

jaeheonna9271

안녕하세요. 답변 주셔서 감사합니다.

문제 원인은 '실제로 메시지 발행을 하지 않았기 때문에 발행이 안됐다'고 하는,, 동어반복적 문제였습니다. ㅎㅎ...

kafka-avro-console-producer 실행 후 메시지를 작성하고 '엔터'를 누르면 바로 메시지가 발행될 줄 알았는데, Ctrl + D를 눌러야 메시지가 발행되더라고요. 표준입력 후 EOF 신호를 줘야 하는데, 그게 '엔터'가 아니라 'Ctrl + D'였습니다..;;ㅎ

0

dooleyz3525

그런일이 있었군요. 암튼 해결이 되었다니 다행입니다 ^^

즐강 하십시요.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

나재헌님, Avro 포맷을 사용한 Kafka 환경에서의 메시지 발행 문제는 주로 설정 파일에 있는 작은 실수에서 비롯될 수 있습니다. kafka-avro-console-producer를 사용할 때 흔히 발생할 수 있는 문제들을 점검해 보는 것이 좋겠습니다.

  1. 설정 확인: Avro 포맷을 사용하기 위해서는 스키마 등록 URL을 명시적으로 설정해야 합니다. 다음과 같은 명령어 형식을 사용하여 스키마 레지스트리의 URL을 확인하세요:

    kafka-avro-console-producer --broker-list localhost:9092 --topic your_topic_name --property schema.registry.url=http://localhost:8081 --property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"f1","type":"string"}]}'
    
  2. 스키마 검사: Avro 스키마를 제대로 정의했는지 확인해 주세요. 스키마가 잘못되었거나 스키마 레지스트리에 등록되지 않았다면 메시지 발행이 실패할 수 있습니다.

  3. 토픽 확인: 메시지를 발행하고자 하는 토픽이 존재하는지, 그리고 올바르게 구성되어 있는지를 점검하세요. 미리 토픽을 생성하셨다고 하였지만, 해당 토픽의 설정과 파티션 등이 올바르게 설정되었는지 확인이 필요합니다.

  4. 로그 확인: Kafka 브로커와 스키마 레지스트리의 로그를 확인하여 에러나 경고 메시지가 없는지 확인하세요. 어떤 오류가 발생했는지를 알 수 있는 좋은 단서가 될 것입니다.

  5. 네트워크 및 방화벽 확인: Kafka 브로커와 스키마 레지스트리 사이의 네트워크 연결 상태를 확인하세요. 방화벽이나 네트워크 설정이 메시지 전송을 방해할 수 있습니다.

위의 사항들을 확인해 보시면 문제 해결에 도움이 되리라 생각됩니다. 추가적으로, 유사한 문제를 다룬 다음의 질문도 참고해 보시기 바랍니다:

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

계속 csv파일을 폴더로 인식하는 중입니다.

0

65

2

cdc failover

0

69

2

avro plugin에 안보이는거 같아요

0

68

2

zookeeper가 실행이 안되요

0

73

3

Debezium CDC Source Connector 이벤트 메시지

0

82

2

재 질문! 다른 connector가 동일 토픽 사용

0

63

2

디비지움 오프셋 리셋

0

94

2

mysql_jdbc_oc_sink_customers_02.json 에서 오류납니다.

0

69

3

io.debezium.connector.mysql.MySqlConnector 질문

0

67

2

Debezium 이벤트 메시지 발행 시 성공여부

0

80

2

connect 구동 오류

0

97

3

CDC Connect 통시에서의 암호화 관련 하여 문의 드립니다.

0

121

2

GCSSinkconnector

0

64

1

debezium source connector에서 `poll.interval.ms` 파라미터

0

142

2

자문자답: JDBC Sink Connector가 PostgreSQL의 Schema를 바라보지 않습니다.

0

212

1

table.name.format에 관하여..

0

196

2

binlog와 offset 관련 추가 질문드립니다

0

149

1

Debezium cdc source for MSSQL-Server [등록오류]

0

190

2

http http://localhost:8083/connector-plugins 시 플러그인이 보이지 않습니다.

0

187

2

안녕하세요 sink connector 생성 config 관련 질문입니다.

0

159

2

수강환경 VirtualBox -> Docker

0

223

2

일반적인 예시들이 궁금해서 질문 남깁니다.

1

145

2

debezium connector schema 찾지 못하는 오류

0

426

2

offset 커밋 관련 질문

0

159

1