docker-compose部署 kafka 3.7 集群(3台服务器)并启用账号密码认证

文章目录

  • [1. 规划](#1. 规划)
  • [2. 服务部署](#2. 服务部署)
    • [2.1 kafka-01](#2.1 kafka-01)
    • [2.2 kafka-02](#2.2 kafka-02)
    • [2.3 kafka-03](#2.3 kafka-03)
    • [2.4 启动服务](#2.4 启动服务)
  • [3. 测试](#3. 测试)
    • [3.1 kafkamap搭建(测试工具)](#3.1 kafkamap搭建(测试工具))
    • [3.2 测试](#3.2 测试)

1. 规划

服务 IP
kafka-01 10.10.xxx.199
kafka-02 10.10.xxx.198
kafka-03 10.10.xxx.197
kafkamp 10.10.xxx.199

2. 服务部署

2.1 kafka-01

  • 登录10.10.xxx.199,创建目录 kafka-01,进入该目录
  • 目录下创建docker-compose.yml 文件
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 文件
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 文件
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 启动服务

  • 每台服务器上执行
shell 复制代码
docker-compose up -d

3. 测试

3.1 kafkamap搭建(测试工具)

  • 登录10.10.xxx.199,创建kafkamap目录,进入该目录
  • 创建docker-compose.yml文件如下
shell 复制代码
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

相关推荐
uiop_uiop_uiop6 小时前
fnOS LUKS on RAID Storage Pool
服务器
IT大白鼠6 小时前
Linux进程与计划任务管理:技术详解与实战指南
linux·运维·服务器
临街的小孩6 小时前
Docker 容器内运行 ROS Noetic 图形界面(rqt_image_view)极简教程总结
运维·docker·容器
仙柒4158 小时前
管理网络安全
linux·运维·服务器
isyangli_blog8 小时前
静态网站部署方案
服务器
189228048619 小时前
NV243美光MT29F32T08GWLBHD6-24QJES:B
大数据·服务器·人工智能·科技·缓存
明明跟你说过10 小时前
Kafka 与 Elasticsearch 的集成应用案例深度解析
大数据·elk·elasticsearch·kafka·big data·bigdata
洋哥网络科技10 小时前
centos7 升级openssh-10.2
linux·运维·服务器·系统安全
smileNicky10 小时前
Docker 部署 SpringBoot 项目超详细教程
spring boot·docker·容器