首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头群的多节点动物园饲养员

码头群的多节点动物园饲养员
EN

Stack Overflow用户
提问于 2022-08-02 08:52:35
回答 1查看 126关注 0票数 0

我正在设置一个多节点的Apache集群,但似乎我的动物园管理员实例在相互通信时遇到了困难。

我将集群部署为一个码头群堆栈。我知道,根据合流博士,通过群集覆盖驱动程序建立网络是不受支持的。所以我要在所有接口上发布端口。然而,我的动物园管理员实例总是抛出这个异常:

代码语言:javascript
复制
EndOfStreamException: Unable to read additional data from client, it probably closed the socket: address = /127.0.0.1:{some_random_port}, session = 0x100fc7d362c0002

当我试图针对我的动物园管理员实例执行zookeeper-shell localhost:12181 ls /brokers/ids时,我的一些Zookeeper实例似乎成功地连接到一个或两个Kafka代理,但是这些实例并不知道连接到其他Zoo牧民实例的代理。

这是我的部分设置:

代码语言:javascript
复制
    x-zookeeper-envs: &zookeeper-envs
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_SERVER_1: zookeeper-1:12888:13888;12181
      ZOOKEEPER_SERVER_2: zookeeper-2:22888:23888;22181
      ZOOKEEPER_SERVER_3: zookeeper-3:32888:33888;32181
    
    services:
      zookeeper-1:
        image: confluentinc/cp-zookeeper:7.1.1
        <<: *network
        ports:
          - 12181:12181
          - 12888:2888
          - 13888:3888
        deploy:
          placement:
            constraints: [node.labels.worker==1]
        environment:
          <<: *zookeeper-envs
          ZOOKEEPER_CLIENT_PORT: 12181
          ZOOKEEPER_SERVER_ID: 1
    
      zookeeper-2:
        image: confluentinc/cp-zookeeper:7.1.1
        <<: *network
        ports:
          - 22181:22181
          - 22888:2888
          - 23888:3888
        deploy:
          placement:
            constraints: [node.labels.worker==2]
        environment:
          <<: *zookeeper-envs
          ZOOKEEPER_CLIENT_PORT: 22181
          ZOOKEEPER_SERVER_ID: 2
    
      zookeeper-3:
        image: confluentinc/cp-zookeeper:7.1.1
        <<: *network
        ports:
          - 32181:32181
          - 32888:2888
          - 33888:3888
        deploy:
          placement:
            constraints: [node.labels.worker==3]
        environment:
          <<: *zookeeper-envs
          ZOOKEEPER_CLIENT_PORT: 32181
          ZOOKEEPER_SERVER_ID: 3

我还尝试过以以下格式设置Zookeeper变量:ZOOKEEPER_SERVER_1: zookeeper-1:12888:13888::1;12181,但没有效果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-03 07:54:25

我设法使用zookeeper映像而不是confluentinc/cp-zookeeper来运行它。这是我的设置,以防其他人在群集上设置多节点的动物园管理员/Kafka。

代码语言:javascript
复制
version: '3.7'

x-zookeeper-envs: &zookeeper-envs
  ZOO_TICK_TIME: 2000
  ZOO_SERVERS: server.1=zookeeper-1:12888:13888;12181 server.2=zookeeper-2:22888:23888;22181 server.3=zookeeper-3:32888:33888;32181

x-kafka-envs: &kafka-envs
  KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:12181,zookeeper-2:22181,zookeeper-3:32181
  KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
  KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
  KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
  KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
  KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR: 3
  KAFKA_CONFLUENT_BALANCER_TOPIC_REPLICATION_FACTOR: 3
  KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
  KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
  KAFKA_JMX_PORT: 9101
  KAFKA_JMX_HOSTNAME: localhost
  KAFKA_CONFLUENT_SCHEMA_REGISTRY_URL: http://schema-registry:8081
  CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: kafka-1:29092,kafka-2:29093,kafka-3:29094
  CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 3
  CONFLUENT_METRICS_ENABLE: 'true'
  CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'

services:
  zookeeper-1:
    image: zookeeper
    hostname: zookeeper-1
    <<: *network
    ports:
      - 12181:2181
      - 12888:2888
      - 13888:3888
    deploy:
      placement:
        constraints: [node.labels.worker==1]
    environment:
      <<: *zookeeper-envs
      ZOO_MY_ID: 1

  zookeeper-2:
    image: zookeeper
    hostname: zookeeper-2
    <<: *network
    ports:
      - 22181:2181
      - 22888:2888
      - 23888:3888
    deploy:
      placement:
        constraints: [node.labels.worker==2]
    environment:
      <<: *zookeeper-envs
      ZOO_MY_ID: 2

  zookeeper-3:
    image: zookeeper
    hostname: zookeeper-3
    <<: *network
    ports:
      - 32181:2181
      - 32888:2888
      - 33888:3888
    deploy:
      placement:
        constraints: [node.labels.worker==3]
    environment:
      <<: *zookeeper-envs
      ZOO_MY_ID: 3

  kafka-1:
    image: confluentinc/cp-kafka
    deploy:
      placement:
        constraints: [node.labels.worker==1]
    ports:
      - 9092:9092
      - 29092:29092
    environment:
      <<: *kafka-envs
      KAFKA_BROKER_ID: 1
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-1:29092,PLAINTEXT_HOST://localhost:9092
      CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: kafka-1:29092

  kafka-2:
    image: confluentinc/cp-kafka
    deploy:
      placement:
        constraints: [node.labels.worker==2]
    ports:
      - 9093:9093
      - 29093:29093
    environment:
      <<: *kafka-envs
      KAFKA_BROKER_ID: 2
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-2:29093,PLAINTEXT_HOST://localhost:9093
      CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: kafka-2:29093

  kafka-3:
    image: confluentinc/cp-kafka
    deploy:
      placement:
        constraints: [node.labels.worker==3]
    ports:
      - 9094:9094
      - 29094:29094
    environment:
      <<: *kafka-envs
      KAFKA_BROKER_ID: 3
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-3:29094,PLAINTEXT_HOST://localhost:9094
      CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: kafka-3:29094
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73204627

复制
相关文章

相似问题

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