机器信息
IP | 配置 |
---|
10.192.192.8 | 2C4G |
10.192.192.9 | 2C4G |
10.192.192.10 | 2C4G |
拉取镜像
docker pull bitnami/kafka:3.3.1
配置docker-compose
yum install -y docker-compose
mkdir /opt/kafka/
cat >/opt/kafka/docker-compose.yaml<<EOF
version: "3.3"
services:
kafka1:
container_name: kafka
image: 'bitnami/kafka:3.3.1'
user: root
ports:
- '9092:9092'
- '9093:9093'
environment:
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_PROCESS_ROLES=broker,controller
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://10.192.192.8:9092
- KAFKA_BROKER_ID=1
- KAFKA_KRAFT_CLUSTER_ID=iZWRiSqjZAlYwlKEqHFQWI
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@10.192.192.8:9093,2@10.192.192.9:9093,3@10.192.192.10:9093
- ALLOW_PLAINTEXT_LISTENER=yes
volumes:
- /opt/kafka:/bitnami/kafka:rw
network_mode: host
EOF
cat >/opt/kafka/docker-compose.yaml<<EOF
version: "3.3"
services:
kafka1:
container_name: kafka
image: 'bitnami/kafka:3.3.1'
user: root
ports:
- '9092:9092'
- '9093:9093'
environment:
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_PROCESS_ROLES=broker,controller
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://10.192.192.9:9092
- KAFKA_BROKER_ID=2
- KAFKA_KRAFT_CLUSTER_ID=iZWRiSqjZAlYwlKEqHFQWI
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@10.192.192.8:9093,2@10.192.192.9:9093,3@10.192.192.10:9093
- ALLOW_PLAINTEXT_LISTENER=yes
volumes:
- /opt/kafka:/bitnami/kafka:rw
network_mode: host
EOF
cat >/opt/kafka/docker-compose.yaml<<EOF
version: "3.6"
services:
kafka1:
container_name: kafka
image: 'bitnami/kafka:3.3.1'
user: root
ports:
- '9092:9092'
- '9093:9093'
environment:
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_PROCESS_ROLES=broker,controller
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://10.192.192.10:9092
- KAFKA_BROKER_ID=3
- KAFKA_KRAFT_CLUSTER_ID=iZWRiSqjZAlYwlKEqHFQWI
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@10.192.192.8:9093,2@10.192.192.9:9093,3@10.192.192.10:9093
- ALLOW_PLAINTEXT_LISTENER=yes
volumes:
- /opt/kafka:/bitnami/kafka:rw
network_mode: host
EOF
启动Kafka集群
cd /opt/kafka/ && docker-compose up -d
验证集群
docker exec -it kafka /bin/bash
kafka-topics.sh --create --topic galaxy-future --partitions 5 --replication-factor 3 --bootstrap-server 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092
kafka-topics.sh --describe --topic galaxy-future --bootstrap-server 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092
kafka-console-producer.sh --broker-list 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092 --topic galaxy-future
kafka-console-consumer.sh --bootstrap-server 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092 --topic galaxy-future
kafka-topics.sh --delete --topic galaxy-future --bootstrap-server 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092