首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >卡夫卡如何利用码头拥有多个集群?

卡夫卡如何利用码头拥有多个集群?
EN

Stack Overflow用户
提问于 2021-12-19 11:23:43
回答 2查看 649关注 0票数 1

我试图在kafka中使用docker建立多个带有三个节点的集群,并且在我的停靠-撰写文件中遵循了这种方法,但是这是错误的,而且我不能对Kafka -那些我在我的坞-撰写文件中写的那些,请告诉我真正的对接-撰写文件或者真正的方法,在Kafka的多个集群(有三个节点)通过使用码头。

代码语言:javascript
运行
复制
version: '2'
services:
  zookeeper-1:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_SERVER_ID: 1
      ZOOKEEPER_CLIENT_PORT: 22101
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_INIT_LIMIT: 5
      ZOOKEEPER_SYNC_LIMIT: 2
      ZOOKEEPER_SERVERS:      localhost:22000:23000;localhost:32000:33000;localhost:42000:43000
    network_mode: host
      extra_hosts:
        - "moby:127.0.0.1"

  zookeeper-2:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_SERVER_ID: 2
      ZOOKEEPER_CLIENT_PORT: 32181
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_INIT_LIMIT: 5
      ZOOKEEPER_SYNC_LIMIT: 2
      ZOOKEEPER_SERVERS: localhost:22888:23888;localhost:32888:33888;localhost:42888:43888
    network_mode: host
    extra_hosts:
      - "moby:127.0.0.1"

  zookeeper-3:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_SERVER_ID: 3
      ZOOKEEPER_CLIENT_PORT: 42181
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_INIT_LIMIT: 5
      ZOOKEEPER_SYNC_LIMIT: 2
      ZOOKEEPER_SERVERS: localhost:22888:23888;localhost:32888:33888;localhost:42888:43888
    network_mode: host
    extra_hosts:
      - "moby:127.0.0.1"

kafka-1:
  image: confluentinc/cp-zookeeper:latest
  network_mode: host
  depends_on:
    - zookeeper-1
    - zookeeper-2
    - zookeeper-3
  environment:
  KAFKA_BROKER_ID: 1
  KAFKA_ZOOKEEPER_CONNECT: localhost:22181,localhost:32181,localhost:42181
  KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:19092
kafka-2:
   image: confluentinc/cp-zookeeper:latest
   network_mode: host
   depends_on:
     - zookeeper-1
     - zookeeper-2
     - zookeeper-3
   environment:
   KAFKA_BROKER_ID: 2
   KAFKA_ZOOKEEPER_CONNECT: localhost:22181,localhost:32181,localhost:42181
   KAFKA_ADVERTISED_LISTENER: PLAINTEXT://localhost:29092
 extra_hosts:
   - "moby:127.0.0.1"
kafka-3:
  image: confluentinc/cp-zookeeper:latest
  network_mode: host
  depends_on:
    - zookeeper-1
    - zookeeper-2
    - zookeeper-3
  environment:
    KAFKA_BROKER_ID: 3
    KAFKA_ZOOKEEPER_CONNECT: localhost:22181,localhost:32181,localhost:42181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:39092
extra_hosts:
  - "moby:127.0.0.1"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-19 13:31:42

我通过以下链接解决了我的问题:

https://github.com/conduktor/kafka-stack-docker-compose

我的问题是,如何通过使用docker-组合在Kafka中拥有多个节点,我使用了这个项:来自存储库的单动物园管理员/多个Kafka,并运行以下命令来使用它:

代码语言:javascript
运行
复制
docker-compose -f zk-single-Kafka-single.yml up

在此之后,您可以使用以下命令来检查哪些容器处于打开状态:

代码语言:javascript
运行
复制
sudo docker ps

产出名称如下:

卡夫卡-堆栈-码头-合成_kafka2_1

卡夫卡-堆栈-码头-合成_kafka3_1

卡夫卡-堆栈-码头-合成_kafka1_1

zoo1

他们的身份和身份..。

票数 1
EN

Stack Overflow用户

发布于 2021-12-19 12:37:54

您的配置是错误的:每个zk节点都有一个进程(名为QuorumPeerMain),它侦听默认端口2181上的客户端,并在端口2888:3888上相互通信。因此,当尝试定义动物园管理员仲裁时,请将其定义为zk1:[port],zk2:[port],...

代码语言:javascript
运行
复制
 zookeeper-1:
      ZOOKEEPER_CLIENT_PORT: 2181
...
...
 zookeeper-2:
      ZOOKEEPER_CLIENT_PORT: 2181
...
...
 zookeeper-3:
      ZOOKEEPER_CLIENT_PORT: 2181

在卡夫卡的财产中:

代码语言:javascript
运行
复制
KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181

遵循以下链接:使用Docker设置Apache指南

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

https://stackoverflow.com/questions/70410982

复制
相关文章

相似问题

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