inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

producer에서 키를 주고 작업하는 데 오류가 발생합니다.

317

작성자 없음

작성한 질문수 0

0

[실행명령어]

C:\kafka\kafka_2.13-2.7.0\bin\windows>kafka-console-producer.bat --bootstrap-server 192.168.45.241:9092 ^

More? --property "parse.key=true" ^

More? --property "separator.key=:" --topic test2

 

>key1:test1

[결과]

org.apache.kafka.common.KafkaException: No key found on line 1: key1:test1

at kafka.tools.ConsoleProducer$LineMessageReader.readMessage(ConsoleProducer.scala:290)

at kafka.tools.ConsoleProducer$.main(ConsoleProducer.scala:51)

at kafka.tools.ConsoleProducer.main(ConsoleProducer.scala)

 

[해결]

>key test1

탭키를 누르고 작업하면 오류없이 실행되지만 결과가 나오지 않아서 질문올립니다.

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
ckaqudwhgtlrdkTl님, Kafka 콘솔 프로듀서에서 키와 값을 같이 전송하고자 할 때 발생하는 오류 문제를 살펴보겠습니다.

실행 명령어에서 --property "separator.key=:" 대신 --property "key.separator=:"을 사용해야 합니다. separator.key 대신 올바른 프로퍼티 명칭인 key.separator를 사용해야 Kafka가 메시지의 키와 값을 올바로 구분할 수 있습니다.

다음과 같이 수정해보세요:

C:\kafka\kafka_2.13-2.7.0\bin\windows>kafka-console-producer.bat --bootstrap-server 192.168.45.241:9092 ^
--property "parse.key=true" ^
--property "key.separator=:" --topic test2

그러고 나서 메시지를 다음과 같이 보내보세요:

>key1:test1

이렇게 하면 key1을 키로, test1을 값으로 하는 메시지를 test2 토픽에 성공적으로 전송할 수 있을 것입니다.

맥유저 입장의 고려해주세요

2

55

1

케이테스트 서버 운영 방법

2

52

1

수업 잘 들었습니다.

2

23

2

실행과정 질문입니다.

2

11

1