3

最近、Kafka トピックからのメッセージを消費しようとしましたが、次のエラー メッセージが表示されました。

[2016-08-15 17:56:05,025] INFO Closing socket connection to /192.168.34.11. (kafka.network.Processor)
[2016-08-15 17:56:05,050] ERROR Closing socket for /127.0.0.1 because of error (kafka.network.Processor)
kafka.common.KafkaException: Wrong request type 18
    at kafka.api.RequestKeys$.deserializerForKey(RequestKeys.scala:64)
    at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:50)
    at kafka.network.Processor.read(SocketServer.scala:450)
    at kafka.network.Processor.run(SocketServer.scala:340)
    at java.lang.Thread.run(Thread.java:745)
[2016-08-15 17:56:05,154] ERROR Closing socket for /127.0.0.1 because of error (kafka.network.Processor)
kafka.common.KafkaException: Wrong request type 16
    at kafka.api.RequestKeys$.deserializerForKey(RequestKeys.scala:64)
    at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:50)
    at kafka.network.Processor.read(SocketServer.scala:450)
    at kafka.network.Processor.run(SocketServer.scala:340)
    at java.lang.Thread.run(Thread.java:745)
[2016-08-15 17:56:10,476] ERROR Closing socket for /127.0.0.1 because of error (kafka.network.Processor)
java.io.IOException: Broken pipe
    at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
    at sun.nio.ch.IOUtil.write(IOUtil.java:65)
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
    at kafka.api.TopicDataSend.writeTo(FetchResponse.scala:123)
    at kafka.network.MultiSend.writeTo(Transmission.scala:101)
    at kafka.api.FetchResponseSend.writeTo(FetchResponse.scala:231)
    at kafka.network.Processor.write(SocketServer.scala:472)
    at kafka.network.Processor.run(SocketServer.scala:342)
    at java.lang.Thread.run(Thread.java:745)

おそらくエラー メッセージからわかるように、kafka ブローカーは localhost にマップされています。

他の誰かがこの問題を抱えていますか?

4

3 に答える 3

4

このエラーは、ブローカーが理解できないリクエストをクライアントが送信したことを示しています。あなたの特定のケースでは、クライアントはListGroupsRequest(request code 16) とApiVersionsRequest(request code ) を送信しました18

リクエスト コードの最新リストは、こちらから入手できます。このリストはこちらからも入手できますが、最新バージョンにはより多くの API キーが含まれているため、少し古くなっているように見えます。

この問題を解決するには、ブローカーをアップグレードするか、古いクライアントを使用する必要があります。

于 2016-08-16T10:02:04.543 に答える