Docker Kafka集群安装

机器信息

IP配置
10.192.192.82C4G
10.192.192.92C4G
10.192.192.102C4G

拉取镜像

docker pull bitnami/kafka:3.3.1

配置docker-compose

yum install -y docker-compose
mkdir /opt/kafka/

# 10.192.192.8执行
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

# 10.192.192.9执行
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

# 10.192.192.10执行
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
# 创建topic
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
# 查看topic
kafka-topics.sh --describe --topic galaxy-future --bootstrap-server 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092
# 测试生产消息(10.192.192.8执行)
kafka-console-producer.sh --broker-list 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092 --topic galaxy-future
# 测试消费消息(10.192.192.9/10执行)
kafka-console-consumer.sh --bootstrap-server 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092 --topic galaxy-future
# 删除topic
kafka-topics.sh --delete --topic galaxy-future --bootstrap-server 10.192.192.8:9092,10.192.192.9:9092,10.192.192.10:9092
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值