Node.js 使用节点rdkafka时主机解析错误
我将node rdkafka作为node.js应用程序运行。消费者无限期地挂起,而不从kafka(在本地主机上工作)提取任何消息 发出以下错误Node.js 使用节点rdkafka时主机解析错误,node.js,apache-kafka,Node.js,Apache Kafka,我将node rdkafka作为node.js应用程序运行。消费者无限期地挂起,而不从kafka(在本地主机上工作)提取任何消息 发出以下错误 { Error: Local: Host resolution failure origin: 'local', message: 'host resolution failure', code: -1, errno: -1, stack: 'Error: Local: Host resolution failure' } 该应用程
{ Error: Local: Host resolution failure
origin: 'local',
message: 'host resolution failure',
code: -1,
errno: -1,
stack: 'Error: Local: Host resolution failure' }
该应用程序可以从卡夫卡接收数据。kafka实例很好,通过使用控制台生成和使用消息进行验证
非常感谢您在调试发生这种情况的原因方面提供的任何帮助
这里的示例用户代码-我在本地使用来自的快速启动指令运行kafka时遇到了这个问题 对我来说,在启动kafka服务器之前,将以下两行添加到
config/server.properties
,解决了这个问题-
listeners=PLAINTEXT://localhost:9092
advertised.listeners=PLAINTEXT://localhost:9092
发生此问题的原因是您的客户机和代理的网络不同 简单的破解方法是让播发的.listeners进入主机 比如说,,
advised.listeners=PLAINTEXT://kafka:9092
然后使用kafka代理IP在/etc/hosts
中添加一个条目。例如,kafka borker IP为192.168.1.1
192.168.1.1卡夫卡
您可以使用kafkacat
实用程序检查您的经纪人的IP
kafkacat-b卡夫卡:9092-L
它将返回有关代理的元数据
您需要检查返回的代理的IP是否可从您的计算机访问
为了更好地理解这个问题。
您可以参考欢迎来到stackoverflow。如果您可以发布代码,以便其他用户可以将您的error.URL复制到添加的示例消费者代码中,那么您将获得更好的答案请将其包含在帖子中。请包括您的代码,以及您网络的详细信息-您是否在同一台机器上运行代码和卡夫卡?EC2?码头工人?等