【发布时间】:2020-03-22 08:11:08
【问题描述】:
我已经使用 docker-compose 文件设置了一个 Kafka 集群,我在其中指定了这样的代理:
kafka1:
image: confluentinc/cp-kafka:latest
hostname: kafka1
ports:
- "19092:19092"
depends_on:
- zookeeper-1
- zookeeper-2
- zookeeper-3
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:12181,zookeeper-2:12181,zookeeper-3:12181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:19092
现在,当我尝试使用 js 脚本创建主题时,我会像下面这样引用代理(为了这篇文章,我只附上了关于 1 个代理的代码):
try
{
const kafka = new Kafka({
clientId: 'myapp',
brokers: ['kafka1:19092','kafka2:29092','kafka3:39092']
})
我收到此错误:
{"level":"ERROR","timestamp":"2020-03-21T19:06:13.653Z","logger":"kafkajs","message":"[Connection] Connection error: getaddrinfo ENOTFOUND kafka1","broker":"kafka1:19092","clientId":"myapp","stack":"Error: getaddrinfo ENOTFOUND kafka1\n at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)"}
我觉得我已经用尽互联网试图解决这个问题。有人对如何连接到 docker 中的代理有任何建议吗?
【问题讨论】:
-
也许您忘记了 URL 的方案部分?
brokers: ['kafka1:19092','kafka2:29092','kafka3:39092'] -
你能解释一下你的意思吗?我不太明白。我已经按照您在评论中列出的方式列出了经纪人
-
I mean like: brokers: ['tcp://kafka1:19092','kafka2:29092','kafka3:39092'] -
@D.Richard 似乎不起作用。
标签: node.js docker apache-kafka