我已经在raspberry pi 3上安装了节点red来从传感器收集数据,然后将它们存储在kafka中,但是现在我对kafka生产者节点有一些问题。我在笔记本电脑上安装了一个kafka服务器,它可以在控制台中正常工作:如果我在kafka producer控制台上发送消息,我就可以在consumer控制台上正确接收消息。不幸的是,当我试图在raspberry上的节点red中向kafka producer注入时间戳时,服务器没有给出响应。
节点red的调试页面显示:“brokernotavailableerror:broker不可用”
在producer node zkquorum字段中,我键入了笔记本电脑的ip,并将端口设置为9092,正如我在npm站点的示例中看到的那样。
我相信这个题目是对的。
我确信zookeeper正在运行,kafka服务器也在运行。事实上,如果同时我尝试使用Kafka与笔记本电脑控制台,它的作品很棒。
我还尝试用telnet连接kafka生产者端口:连接被接受。
我已经在node red社区上发布了同样的问题,但目前还没有成功。关于这个问题有什么提示吗?
更新:
更新。我试着在节点red中实现一个python函数,向kafka生产者发送一条简单的消息,我得到了一个更深入的错误日志:/usr/local/lib/python2.7/dist-packages/kafka/client\ u async.py“,第808行我打开了一个文件,在第808行有一个带有以下注解的函数:
有帮助吗?
1条答案
按热度按时间tkqqtvp11#
必须将kafka服务器属性上的accepted listeners字段配置为笔记本电脑的ip地址。尝试将zookeeper连接更改为实际ip,而不是本地主机。
在etc/kafka/server.properties中尝试此属性:
listeners=PLAINTEXT://<your ip here>:<kafka port here>
. 你必须重新启动Kafka才能生效