Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用节点rdkafka时主机解析错误_Node.js_Apache Kafka - Fatal编程技术网

Node.js 使用节点rdkafka时主机解析错误

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' } 该应用程

我将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' }
该应用程序可以从卡夫卡接收数据。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?码头工人?等