我已经在我的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服务器吗?
答案 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服务器版本相匹配。