1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| version: "3.8"
services: kafka-1: image: docker.io/bitnami/kafka:3.7 container_name: kafka-1 ports: - "33001:9092" environment: # KRaft settings - kafka_CFG_NODE_ID=0 - kafka_CFG_PROCESS_ROLES=controller,broker - kafka_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-1:9093,1@kafka-2:9093,2@kafka-3:9093 - kafka_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv # Listeners - kafka_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 #- kafka_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092 - kafka_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${kafka_1_ACCESS_ADDR} - kafka_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT - kafka_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - kafka_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT # Clustering - kafka_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 - kafka_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 - kafka_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 volumes: - $PWD/data/kafka-1:/bitnami/kafka networks: - kafka-net
kafka-2: image: docker.io/bitnami/kafka:3.7 container_name: kafka-2 ports: - "33002:9092" environment: # KRaft settings - kafka_CFG_NODE_ID=1 - kafka_CFG_PROCESS_ROLES=controller,broker - kafka_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-1:9093,1@kafka-2:9093,2@kafka-3:9093 - kafka_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv # Listeners - kafka_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 #- kafka_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092 - kafka_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${kafka_2_ACCESS_ADDR} - kafka_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT - kafka_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - kafka_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT # Clustering - kafka_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 - kafka_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 - kafka_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 volumes: - $PWD/data/kafka-2:/bitnami/kafka networks: - kafka-net
kafka-3: image: docker.io/bitnami/kafka:3.7 container_name: kafka-3 ports: - "33003:9092" environment: # KRaft settings - kafka_CFG_NODE_ID=2 - kafka_CFG_PROCESS_ROLES=controller,broker - kafka_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-1:9093,1@kafka-2:9093,2@kafka-3:9093 - kafka_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv # Listeners - kafka_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 #- kafka_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092 - kafka_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${kafka_3_ACCESS_ADDR} - kafka_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT - kafka_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - kafka_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT # Clustering - kafka_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 - kafka_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 - kafka_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 volumes: - $PWD/data/kafka-3:/bitnami/kafka networks: - kafka-net
kafka-ui: image: provectuslabs/kafka-ui:v0.7.2 restart: always container_name: kafka-ui ports: - "18080:8080" environment: - kafka_CLUSTERS_0_NAME=Local-Kraft-Cluster - kafka_CLUSTERS_0_BOOTSTRAPSERVERS=kafka-1:9092,kafka-2:9092,kafka-3:9092 - DYNAMIC_CONFIG_ENABLED=true - kafka_CLUSTERS_0_AUDIT_TOPICAUDITENABLED=true - kafka_CLUSTERS_0_AUDIT_CONSOLEAUDITENABLED=true depends_on: - kafka-1 - kafka-2 - kafka-3 networks: - kafka-net
networks: kafka-net:
|