多节点docker-compose部署kafka 3.7.2集群

#创建并授权日志目录
mkdir -p /data/middleware/kafka/kafka1/kraft
chown -R 777 /data/middleware/kafka/kafka1/kraft

#节点1服务器
version: '2'
services:
  kafka-1:
    image: apache/kafka:3.7.2
    hostname: kafka-1
    container_name: kafka-1
    ports:
      - 9092:9092
      - 9093:9093
      - 19092:19092
    environment:
      KAFKA_NODE_ID: 1
      KAFKA_PROCESS_ROLES: 'broker,controller'
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
      KAFKA_CONTROLLER_QUORUM_VOTERS: '1@172.1.1.103:9093,2@172.1.1.104:9093,3@172.1.1.105:9093'
      KAFKA_LISTENERS: 'PLAINTEXT://:19092,CONTROLLER://:9093,PLAINTEXT_HOST://:9092'
      KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.1.1.103:19092,PLAINTEXT_HOST://localhost:9092
      KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
      CLUSTER_ID: '*****'
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
      KFAKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
      KFAKA_LOG_RETENTION_HOURS: '24'
      KFAKA_UNCLEAN_LEADER_ELECTION_ENABLE: 'true'
    volumes:
      - ${PWD}/middleware/kafka/kafka1/kraft:/tmp/kraft-combined-logs
      - /etc/localtime:/etc/localtime:ro
      - /etc/hosts:/etc/hosts
#节点2服务器
version: '2'
services:
  kafka-2:
    image: apache/kafka:3.7.2
    hostname: kafka-2
    container_name: kafka-2
    ports:
      - 9092:9092
      - 9093:9093
      - 19092:19092
    environment:
      KAFKA_NODE_ID: 2
      KAFKA_PROCESS_ROLES: 'broker,controller'
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
      KAFKA_CONTROLLER_QUORUM_VOTERS: '1@172.1.1.103:9093,2@172.1.1.104:9093,3@172.1.1.105:9093'
      KAFKA_LISTENERS: 'PLAINTEXT://:19092,CONTROLLER://:9093,PLAINTEXT_HOST://:9092'
      KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.1.1.104:19092,PLAINTEXT_HOST://localhost:9092
      KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
      CLUSTER_ID: '*****'
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
      KFAKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
      KFAKA_LOG_RETENTION_HOURS: '24'
      KFAKA_UNCLEAN_LEADER_ELECTION_ENABLE: 'true'
    mem_limit: 2g
    volumes:
      - ${PWD}/middleware/kafka/kafka2/kraft:/tmp/kraft-combined-logs
      - /etc/localtime:/etc/localtime:ro
      - /etc/hosts:/etc/hosts
#节点3服务器
version: '2'
services:
  kafka-3:
    image: apache/kafka:3.7.2
    hostname: kafka-3
    container_name: kafka-3
    ports:
      - 9092:9092
      - 9093:9093
      - 19092:19092
    environment:
      KAFKA_NODE_ID: 3
      KAFKA_PROCESS_ROLES: 'broker,controller'
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
      KAFKA_CONTROLLER_QUORUM_VOTERS: '1@172.1.1.103:9093,2@172.1.1.104:9093,3@172.1.1.105:9093'
      KAFKA_LISTENERS: 'PLAINTEXT://:19092,CONTROLLER://:9093,PLAINTEXT_HOST://:9092'
      KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.1.1.105:19092,PLAINTEXT_HOST://localhost:9092
      KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
      CLUSTER_ID: '*****'
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
      KFAKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
      KFAKA_LOG_RETENTION_HOURS: '24'
      KFAKA_UNCLEAN_LEADER_ELECTION_ENABLE: 'true'
    volumes:
      - ${PWD}/middleware/kafka/kafka3/kraft:/tmp/kraft-combined-logs
      - /etc/localtime:/etc/localtime:ro
      - /etc/hosts:/etc/hosts
      
  #任意节点
version: '2'
services:
  kafka-ui:
    image: provectuslabs/kafka-ui:latest
    #    network_mode: heilansc-product
    container_name: kafka-ui
    restart: always
    ports:
      - 9091:8080
    volumes:
      - /etc/localtime:/etc/localtime
      - /etc/hosts:/etc/hosts
    environment:
      # 集群名称
      - KAFKA_CLUSTERS_0_NAME=*****
      # 集群地址
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=172.1.1.103:19092,172.1.1.104:19092,172.1.1.104:19092
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值