尝试创建新的KafkaClient
时,必须指定节点的IP和Node.js上的端口2181。
我正在通过Kafka大量插入我的数据库,每当我整夜运行它时,都会遇到CONNECTION_LOSS[-4]
错误,这与Zookeeper有关。
在其他语言上,Kafka端口9092可用于生产/消费,而不能在Node.js
上使用。
如何解决此问题并避免这些连接错误,并使用端口9092而不是2181?
答案 0 :(得分:1)
您使用的是什么版本的Kafka?
在0.9.0之前,需要从使用者到Zookeeper的连接,因为使用者使用Zookeeper来保存偏移量。
从0.9.0
开始,将偏移量保存在名为__consumer_offsets
的特定主题中,因此,客户端唯一需要的连接是端口{{1上的Kafka代理(自举)。 }}您正在谈论。
无论如何,请记住,Kafka需要在端口9092
上的Zookeeper上进行连接,才能进行所有其他操作(控制器选举,主题信息等)。
这与使用端口2181
而非9092
无关。