Kafka节点仅可在Zookeeper端口(2181)上运行

时间:2018-07-14 13:02:13

标签: node.js apache-kafka apache-zookeeper

尝试创建新的KafkaClient时,必须指定节点的IP和Node.js上的端口2181。

我正在通过Kafka大量插入我的数据库,每当我整夜运行它时,都会遇到CONNECTION_LOSS[-4]错误,这与Zookeeper有关。

在其他语言上,Kafka端口9092可用于生产/消费,而不能在Node.js上使用。

如何解决此问题并避免这些连接错误,并使用端口9092而不是2181?

1 个答案:

答案 0 :(得分:1)

您使用的是什么版本的Kafka?

在0.9.0之前,需要从使用者到Zookeeper的连接,因为使用者使用Zookeeper来保存偏移量。

0.9.0开始,将偏移量保存在名为__consumer_offsets的特定主题中,因此,客户端唯一需要的连接是端口{{1上的Kafka代理(自举)。 }}您正在谈论。

无论如何,请记住,Kafka需要在端口9092上的Zookeeper上进行连接,才能进行所有其他操作(控制器选举,主题信息等)。

这与使用端口2181而非9092无关。