首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kafka producer docker无法连接到broker docker - AWS

kafka producer docker无法连接到broker docker - AWS
EN

Stack Overflow用户
提问于 2019-06-26 16:42:26
回答 1查看 388关注 0票数 0

下面是yml文件,用于在一个用于kafka和zookeeper的AWS实例中调出docker容器:

代码语言:javascript
复制
version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
    - "2181:2181"
  kafka:
    build: .
    ports:
    - "9092:9092"
  environment:
    KAFKA_ADVERTISED_HOSTNAME: <machines private ip>
    KAFKA_LISTENERS: PLAINTEXT://:9092
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://<machines private ip>:9092


    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock

当我对上面的文件运行docker-compose命令时,它会导致创建一个名为kafka-docker的docker网络,其中包含一个kafka容器和一个zookeeper容器。

现在,在默认的bridge docker网络中,我有了另一个容器,其中包含以下nodejs代码:

代码语言:javascript
复制
const Producer = kafka.Producer;
const client = new kafka.Client("<machines private ip>:2181");

const producer = new Producer(client);
const kafka_topic = 'hello-topic';

event = ...
event_payload = ...
let payloads = [{topic:kafka_topic ,messages:JSON.stringify(event_payload),  partition: 0 }]
let push_status = producer.send(payloads, (err, data) => {
       if (err) {
            console.log(err);
       } else {
            console.log('[kafka-producer -> '+kafka_topic+']: broker update success');
            }
        });

console.log(err)给我的错误是‘代理不可用’。有人能告诉我我的设置出了什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-06-26 18:44:50

请注意这一行:

代码语言:javascript
复制
const client = new kafka.Client("<machines private ip>:2181");

这不是Kafka正在监听的端口。Kafka正在监听端口9092上的连接:

代码语言:javascript
复制
const client = new kafka.Client("<machines private ip>:9092");

经过修改后,它应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56768689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档