2017-06-28 2 views
0

私は(テスト目的のために、私はIntegerSerializer/IntegerDeserializerを使用している)私のカフカの設定で値のシリアライザ/デシリアライザを変更する必要があります。 JAVA APIを使用すると、期待どおりに動作します。ただし、コンソールツールを使用すると、正しく動作しないように見えます。kafka-console-producerは値シリアライザを無視しますか?

私が行っていることをトラブルシューティングのすべてが一つの結論に私をリードしている:カフカ・コンソール・プロデューサーは、シリアライザのオプションを無視していることが表示されます。私は--property value.serializer--producer-property value.serializer--value-serializerを試してみましたが、--producer.config引数を指定した設定でそれを設定しています。

そのちょうど整数としてデータをシリアル化するために失敗していない私は、引数の値としてナンセンスを入力すると、それも気にしません。 --value-deserializer not.a.real.classと入力すると、kafka-console-consumer(IntegerDeserializerと完全に機能します)では、例外が見つからないという例外がスローされます。しかし、kafka-console-producerの--value-serializer not.a.real.classは何もしません。

これらの値をJAVA APIのプロデューサに設定すると、完全に動作します(シリアライザクラスとしてナンセンスを入力すると例外がスローされます)。ただし、kafka-console-producerを使用している場合は例外が発生します。

kafka-console-consumer --bootstrap-server IPADDRESS:9092 --topic TOPIC --property value.deserializer=org.apache.kafka.common.serialization.IntegerDeserializer 

は、誰もがこのコマンドでの作業を取得するために管理しています:

kafka-console-producer --broker-list IPADDRESS:9092 --topic TOPIC --property value.serializer=org.apache.kafka.common.serialization.IntegerSerializer 

および関連消費者:

この

は、私は、コンソールプロデューサーを実行しようとした方法の一つの例でありますラインツール?私が行方不明になっていることは明らかですか?

答えて

2

これは、コンソールのプロデューサーでknown bugです。 --old-producerオプションをツールに渡すことで回避できます。

+0

私はこれをGoogleに試してみましたが、その動作例が見つかりませんでした。そのJIRAは2015年からのものであり、残念です。ありがとうございました。 – latreides

関連する問題