首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用docker-compose在多broker集群模式下启动kafka?

如何使用docker-compose在多broker集群模式下启动kafka?
EN

Stack Overflow用户
提问于 2020-03-02 18:04:25
回答 1查看 176关注 0票数 0

我有docker-compose.yml文件:

代码语言:javascript
运行
复制
version: '3.7'
  services:
  zookeeper-1:
  image: confluentinc/cp-zookeeper:latest
  ports:
    - 22181:22181
  environment:
  ZOOKEEPER_SERVER_ID: 1
  ZOOKEEPER_CLIENT_PORT: 22181
  ZOOKEEPER_TICK_TIME: 2000
  ZOOKEEPER_INIT_LIMIT: 5
  ZOOKEEPER_SYNC_LIMIT: 2
  ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
  networks:
  - zk_net


zookeeper-2:
image: confluentinc/cp-zookeeper:latest
ports:
  - 32181:32181
environment:
  ZOOKEEPER_SERVER_ID: 2
  ZOOKEEPER_CLIENT_PORT: 32181
  ZOOKEEPER_TICK_TIME: 2000
  ZOOKEEPER_INIT_LIMIT: 5
  ZOOKEEPER_SYNC_LIMIT: 2
  ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
networks:
  - zk_net

zookeeper-3:
image: confluentinc/cp-zookeeper:latest
ports:
  - 42181:42181
environment:
  ZOOKEEPER_SERVER_ID: 3
  ZOOKEEPER_CLIENT_PORT: 42181
  ZOOKEEPER_TICK_TIME: 2000
  ZOOKEEPER_INIT_LIMIT: 5
  ZOOKEEPER_SYNC_LIMIT: 2
  ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
networks:
  - zk_net


kafka-1:
image: confluentinc/cp-kafka:latest
ports:
  - 19092:19092
depends_on:
  - zookeeper-1
  - zookeeper-2
  - zookeeper-3
environment:
  KAFKA_BROKER_ID: 1
  KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
  KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-1:19092
  KAFKA_SOCKET_REQUEST_MAX_BYTES: 500000000
networks:
  - zk_net

kafka-2:
image: confluentinc/cp-kafka:latest
ports:
  - 29092:29092
depends_on:
  - zookeeper-1
  - zookeeper-2
  - zookeeper-3
environment:
  KAFKA_BROKER_ID: 2
  KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
  KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-2:29092
  KAFKA_SOCKET_REQUEST_MAX_BYTES: 500000000
networks:
  - zk_net

kafka-3:
image: confluentinc/cp-kafka:latest
ports:
  - 39092:39092
depends_on:
  - zookeeper-1
  - zookeeper-2
  - zookeeper-3
environment:
  KAFKA_BROKER_ID: 3
  KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
  KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-3:39092
  KAFKA_SOCKET_REQUEST_MAX_BYTES: 500000000
networks:
  zk_net:
   driver: bridge

当我试图杀死docker中的node-1并从我的Java代码中获取节点数时,如下所示:

DescribeClusterResult describeClusterResult = adminClient.describeCluster(new DescribeClusterOptions()); List<Node> nodeList = new ArrayList<>(describeClusterResult.nodes().get(TIME_OUT, TimeUnit.MILLISECONDS));

节点数量为空,因为node-1已关闭。但我认为,如果node-1关闭,则有node-2和node-3处于活动状态,因此它必须工作,并返回2个活动节点,但事实并非如此。

EN

回答 1

Stack Overflow用户

发布于 2020-03-06 02:49:35

如果要查看正在创建AdminClient的属性以及是否传递了所有引导服务器,这将很有帮助。

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

https://stackoverflow.com/questions/60486476

复制
相关文章

相似问题

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