Kafka客户端与服务端的TCP连接数

小脑袋贼大 发表于: 2018-09-07   最后更新时间: 2018-09-07 18:07:40   13,429 游览

您好:
我有几个问题,我想问Kafka的消费者和生产者客户端再工作时,它们与服务端会产生多少个TCP的长连接?如:1个Consumer会与服务端产生多少个长连接?这些长连接都用作做什么?谢谢

发表于 2018-09-07
添加评论

跟分区数有关,一个分区数等于1个长连接。

张乘辉 -> 半兽人 5年前

也就是说,如果该客户端监听了3个分区,就有三个长连接?
这有两种情况:
1.如果这3个分区都在不同broker,那三个长连接肯定需要
2.如果3个分区都在同一个broker,是否只需要一个长连接就可以了?

张乘辉 -> 半兽人 5年前

看了官方文档,一个客户端在每个broker上只需要维护一个长连接用于数据传输

张乘辉 -> 半兽人 5年前

但也可能会额外创建一些长连接用于其它任务,比如元数据的获取以及重平衡

半兽人 -> 张乘辉 5年前

同和不同都是三个。是的

赵心悦 -> 半兽人 5年前

大神请教一下,我的kafka是三台,消费者是连接的后端的服务,现在kafka跑两到三个小时就挂了,一直报打开文件数过多,而且我也把系统用户文件数也调成65535了,还是不行,请问还有哪块需要设置

半兽人 -> 赵心悦 5年前

这个是你的程序写的有问题吧,关注下线程是不是写的有问题。

赵心悦 -> 半兽人 5年前

消费者是spark,刚写错了,生产者是后端服务。是kafka的程序吗?

半兽人 -> 赵心悦 5年前

上面我回复的逻辑说过了,kafka与消费者之间都是长连接,
连接数量 = 分区数 * 消费者组的数量

你现在是否确认kafka挂了的原因?是内存溢出导致kafka崩溃?还是其他的

赵心悦 -> 半兽人 5年前

现在不确认是因为什么挂的,看报错日志一直都是报的java.IO后面是打开文件数过多,刚接触kafka没多长时间对kafka不是很了解,所以想请教一下

一个主题有多个parition,数据被平均存储在这些parititon中,一个parition只能被一个消费者消费,所以,分区=同时消费者数。消费者和这些分区建立长连接用于持续的拉取消息和心跳。

你的答案

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