我们在测试和生产中得到了这个。它是连续的,我们不知道这些错误如何每隔几秒钟就会出现一次,至少我们在测试中似乎没有来自另一个系统的反馈。
我们的消息非常小,最多只有几百字节。
这是 1.2 GB。我尝试将:socket.request.max.bytes 设置为 1195725856,但随后内存不足,即使堆大小约为 2.5 GB 并且 OpenShift 容器设置为最大 32GB。
非常欢迎任何帮助!
org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 1195725856 larger than 104857600)
at org.apache.kafka.common.network.NetworkReceive.readFromReadableChannel(NetworkReceive.java:132)
at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:93)
at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:235)
at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:196)
at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:545)
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:483)
at org.apache.kafka.common.network.Selector.poll(Selector.java:412)
at kafka.network.Processor.poll(SocketServer.scala:551)
at kafka.network.Processor.run(SocketServer.scala:468)
at java.lang.Thread.run(Thread.java:748)
Run Code Online (Sandbox Code Playgroud)
这是通过消除spring.kafka.ssl.protocol生产者的财产来解决的。
当 kakfka 经纪人不支持 Ssl 但生产者支持时,就会出现这个问题。这与尺寸无关。因为生产者发送消息超过 100 mbs 的可能性非常低。
花了近 90 分钟来解决这个 SSL 问题,因为我在配置 bean 中有一个自定义的 kafka 生产者。
听起来像是协议不匹配的问题;也许您正在尝试连接到非 SSL 侦听器。如果您使用端口的默认代理,则需要验证 :9092 是否是该代理上的 SSL 侦听器端口。
例如,
listeners=SSL://:9092
advertised.listeners=SSL://:9092
inter.broker.listener.name=SSL
Run Code Online (Sandbox Code Playgroud)
应该可以帮到你(确保在重新配置这些属性后重新启动 Kafka)。
或者,您可能尝试接收太大的请求。最大大小是 的默认大小socket.request.max.bytes,即 100MB。因此,如果您的消息大于 100MB,请尝试增加该变量的值server.properties。
| 归档时间: |
|
| 查看次数: |
20300 次 |
| 最近记录: |