首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java & Kafka:无法建立到节点999的连接。经纪人可能不可用

Java & Kafka:无法建立到节点999的连接。经纪人可能不可用
EN

Stack Overflow用户
提问于 2018-01-25 19:12:25
回答 1查看 2.1K关注 0票数 0

我的船坞-合成人

代码语言:javascript
复制
version: "2.1"
services:
  pg-master:
    image: postgres-9.6:3
    ports:
     - "5432:5432"
    environment:
     - VIRTUAL_HOST=postgres.local
  web:
    build: .
    links:
      - pg-master:postgres.local
    ports:
     - "8080:8080"
  zookeeper:
    image: jplock/zookeeper:3.4.6
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka:1.0.0
    ports:
      - "9092:9092"
    environment:
      - KAFKA_ADVERTISED_HOST_NAME=localhost
      - KAFKA_ADVERTISED_PORT=9092
      - KAFKA_CREATE_TOPICS=TestTopic1:3:1
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_BROKER_ID=999
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

在web docker容器中,java kafka生产者:

代码语言:javascript
复制
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("acks", "all");
props.put("retries", 0);
props.put("batch.size", 16384);
props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
this.kafkaProducer = new KafkaProducer<String, String>(props);

但是,我有[kafka-producer-network-thread | producer-2] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-2] Connection to node -1 could not be established. Broker may not be available.

不知道为什么。欢迎任何建议。非常感谢。

更新

我可以在卡夫卡码头容器内外通过bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TestTopic1 --from-beginningbin/kafka-console-producer.sh --broker-list localhost:9092 --topic TestTopic1生成和消费消息。

码头集装箱内的localhost是什么?

更新

现在,我将Kafka配置的KAFKA_ADVERTISED_HOST_NAMEbootstrap.servers手动更改为停靠主机ip (由ifconfig获得)。现在,它起作用了。现在,我不知道如何获得对接主机ip和设置它在码头-自动合成文件通过程序或bash。

EN

回答 1

Stack Overflow用户

发布于 2018-12-04 13:10:09

我们能够通过将/etc/hosts从主机复制到Docker容器来解决这个问题。显然,Kubernetes的DNS 服务没有在我们的设置上正确地工作。

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

https://stackoverflow.com/questions/48450270

复制
相关文章

相似问题

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