Kafka socket通道阻塞

啃蘋果的壞蛋 发表于: 2018-11-22   最后更新时间: 2018-11-22 18:39:48   8,255 游览

getting “org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 1195725856 larger than 104857600)”

发表于 2018-11-22
添加评论

默认socket.request.max.bytes=104857600 (100M) 我知道调大这个值可以短暂解决问题,但是要长久解决有没有好的方法?

请求的数据量过大了,调大吧。
你是不是缓存也调大了。

正好您在哈,这个通道目前接了60个装置,数据量就这么大了,预计会有7000个装置接入,有办法吗?

有种办法是加机器,然后做负载均衡,但是我们服务器没那么快到位

感觉你适合mqtt

要怎么做?我在kafka配置里有一个集群配了

advertised.listeners=PLAINTEXT://ii-wabd-03:9092
listeners = PLAINTEXT://ii-wabd-03:9092

有一个集群两个参数都没配置,应该跟这两个参数无关吧?

另外一个中间件了,你是要保持长连接吗?

为什么用wget xxx:9092也会报这个错

是的,目前都是长连接,只要有数据就发

这么多的长连接维护,建议你用MQTT吧

mqtt是kafka自带的吗?我们目前只有几十个装置连进来发数据而已

现有架构是基于大数据的,不好改掉kafka了

不是,另一个中间件。
那你只得调大了。

我准备把这几个值都调大:

socket.request.max.bytes=104857600 --->1.8G, 上限2G
queued.max.requests=500 ---> 1000
num.io.threads=8 ---> 16
num.network.threads=3 ---> 6
jvm_heap=36G

这几个参数都有上限吗?

大神,你还在吗?帮忙解答一下哈, socket.send.buffer.bytes和socket.receive.buffer.bytes这两个也需要调吗

你的答案

查看kafka相关的其他问题或提一个您自己的问题