1. 规划
2. 服务部署
2.1 kafka-01
- 登录10.10.xxx.199,创建目录 kafka-01,进入该目录
- 目录下创建docker-compose.yml 文件
version: "3"
services:
kafka:
image: 'bitnami/kafka:3.7.0'
user: root
ports:
- '9092:9092'
- '9093:9093'
environment:
- TZ=Asia/Shanghai
- KAFKA_CFG_PROCESS_ROLES=broker,controller
- BITNAMI_DEBUG=true
- ALLOW_PLAINTEXT_LISTENER=no
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_NUM_PARTITIONS=1
- KAFKA_CFG_LISTENERS=INTERNAL://:9094,CLIENT://:9095,CONTROLLER://0.0.0.0:9093,EXTERNAL://0.0.0.0:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://10.10.181.199:9094,CLIENT://:9095,EXTERNAL://10.10.181.199:9092
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:SASL_PLAINTEXT,CLIENT:SASL_PLAINTEXT,CONTROLLER:PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN
- KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN
- KAFKA_CLIENT_USERS=liubei
- KAFKA_CLIENT_PASSWORDS=liubei@161
- KAFKA_INTER_BROKER_USER=liuwei
- KAFKA_INTER_BROKER_PASSWORD=liubei@161
- KAFKA_CFG_NODE_ID=1
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@10.10.181.199:9093,2@10.10.181.198:9093,3@10.10.181.197:9093
- KAFKA_KRAFT_CLUSTER_ID=xishu
- KAFKA_OPTS=-Djava.security.auth.login.config=/bitnami/kafka/data/kafka_server_jaas.conf
volumes:
- ./data:/bitnami/kafka/data:rw
2.2 kafka-02
- 登录10.10.xxx.198,创建目录 kafka-02,进入该目录
- 目录下创建docker-compose.yml 文件
version: "3"
services:
kafka:
image: bitnami/kafka:3.7.0'
user: root
ports:
- '9092:9092'
- '9093:9093'
environment:
- TZ=Asia/Shanghai
- KAFKA_CFG_PROCESS_ROLES=broker,controller
- BITNAMI_DEBUG=true
- ALLOW_PLAINTEXT_LISTENER=no
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_NUM_PARTITIONS=1
- KAFKA_CFG_LISTENERS=INTERNAL://:9094,CLIENT://:9095,CONTROLLER://0.0.0.0:9093,EXTERNAL://0.0.0.0:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://10.10.181.198:9094,CLIENT://:9095,EXTERNAL://10.10.181.198:9092
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:SASL_PLAINTEXT,CLIENT:SASL_PLAINTEXT,CONTROLLER:PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN
- KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN
- KAFKA_CLIENT_USERS=liubei
- KAFKA_CLIENT_PASSWORDS=liubei@161
- KAFKA_INTER_BROKER_USER=liuwei
- KAFKA_INTER_BROKER_PASSWORD=liubei@161
- KAFKA_CFG_NODE_ID=2
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@10.10.181.199:9093,2@10.10.181.198:9093,3@10.10.181.197:9093
- KAFKA_KRAFT_CLUSTER_ID=xishu
- KAFKA_OPTS=-Djava.security.auth.login.config=/bitnami/kafka/data/kafka_server_jaas.conf
volumes:
- ./data:/bitnami/kafka/data:rw
2.3 kafka-03
- 登录10.10.xxx.197,创建目录 kafka-03,进入该目录
- 目录下创建docker-compose.yml 文件
version: "3"
services:
kafka:
image: bitnami/kafka:3.7.0'
user: root
ports:
- '9092:9092'
- '9093:9093'
environment:
- TZ=Asia/Shanghai
- KAFKA_CFG_PROCESS_ROLES=broker,controller
- BITNAMI_DEBUG=true
- ALLOW_PLAINTEXT_LISTENER=no
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_NUM_PARTITIONS=1
- KAFKA_CFG_LISTENERS=INTERNAL://:9094,CLIENT://:9095,CONTROLLER://0.0.0.0:9093,EXTERNAL://0.0.0.0:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://10.10.181.197:9094,CLIENT://:9095,EXTERNAL://10.10.181.197:9092
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:SASL_PLAINTEXT,CLIENT:SASL_PLAINTEXT,CONTROLLER:PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN
- KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN
- KAFKA_CLIENT_USERS=liubei
- KAFKA_CLIENT_PASSWORDS=liubei@161
- KAFKA_INTER_BROKER_USER=liuwei
- KAFKA_INTER_BROKER_PASSWORD=liubei@161
- KAFKA_CFG_NODE_ID=2
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@10.10.181.199:9093,2@10.10.181.198:9093,3@10.10.181.197:9093
- KAFKA_KRAFT_CLUSTER_ID=xishu
- KAFKA_OPTS=-Djava.security.auth.login.config=/bitnami/kafka/data/kafka_server_jaas.conf
volumes:
- ./data:/bitnami/kafka/data:rw
2.4 启动服务
docker-compose up -d
3. 测试
3.1 kafkamap搭建(测试工具)
- 登录10.10.xxx.199,创建
kafkamap
目录,进入该目录 - 创建
docker-compose.yml
文件如下
version: "3"
services:
kafka_map:
image: dushixiang/kafka-map:latest
environment:
- DEFAULT_USERNAME=liubei
- DEFAULT_PASSWORD=liubei@161
ports:
- '8080:8080'
3.2 测试
- 连接集群
- 连接成功
- 进入topic
- 创建topic