在另一台服务器上运行kafka-console-producer.sh

时间:2019-04-23 18:09:20

标签: apache-kafka kafka-producer-api

我已经在我的centos服务器上安装了Apache Kafka。我只是在尝试向另一台服务器上的主题写消息。因此,安装后,我没有启动zookeeper或Kafka服务器,而只是输入以下命令:

void setUp(QCommandLineParser *parser);

我能够从服务器上ping xxx.yyy.com。运行此命令时,出现此错误:

  

ERROR向主题cds_organization发送消息时出现错误,键为:null,值:7个字节,错误为:
(org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
      org.apache.kafka.common.errors.TimeoutException:60000毫秒后元数据中不存在主题topicx。

所以在这种情况下,我仍然需要启动zookeeper和/或kafka服务器吗?

4 个答案:

答案 0 :(得分:1)

。/kafka-console-producer.sh --broker-list xxx.yyy.com:2181 --topic topicx ”,您的命令很遗憾,错过了这一部分,是您的经纪人在听端口2181,通常为9092。
更改commad为 “ ./ kafka-console-producer.sh --broker列表xxx.yyy.com:9092 --topic topicx ”,然后重试。

答案 1 :(得分:0)

  

我没有启动Zookeeper或Kafka服务器,只是输入了以下命令:

如果两个都没有运行,则列出的命令均不起作用。

  

我仍然需要启动zookeeper和/或kafka服务器

是的,您将需要同时运行它们,但不必在同一台计算机上。


如前所述,Kafka的默认端口为9092。Zookeeper为2181。看来您已经混合了它们。

仅通过Zookeeper up until Kafka 2.2)完成主题描述(kafka-topics)命令。

要进行生产,您应该使用 Kafka主机和端口(从Kafka 0.9开始)。

答案 2 :(得分:0)

我终于做到了。问题是主题为我要编写的Kafka服务器的版本为0.8.2.1,并且我已经安装了最新版本。当我安装相同版本时,kafka-console-producer.sh可以正常运行,而无需启动zookeeper或本地Kafka服务器。

答案 3 :(得分:0)

我为Springboot应用程序修复了此问题,方法是添加一个单独的spring-kafka依赖项,并使其版本与kafka服务器版本相匹配。