강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

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

작성

·

302

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 인턴입니다.
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 토픽에 성공적으로 전송할 수 있을 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기