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

相关推荐
SiriusSun_8 小时前
Windows10 wsl2 ubuntu22.04 docker安装
运维·docker·容器
数据雕塑家8 小时前
Linux下的花式「隔空」文件传输魔法
linux·运维·服务器
wuxingge9 小时前
浪潮服务器-型号NF5270M3做raid
服务器
橘子真甜~9 小时前
C/C++ Linux网络编程2 - Socket编程与简单UDP服务器客户端
linux·运维·服务器·网络编程api·udp协议·udp通信
咬_咬9 小时前
C++仿muduo库高并发服务器项目:Poller模块
服务器·开发语言·c++·epoll·muduo
深圳市恒讯科技9 小时前
服务器与普通个人电脑的主要区别是什么?
运维·服务器
百***794610 小时前
Spring集成kafka的最佳方式
spring·kafka·linq
未来之窗软件服务10 小时前
服务器运维(十一)SQLite3 php封装——东方仙盟炼气期
运维·服务器·sqlite·服务器运维·数据库驱动·东方仙盟
占疏11 小时前
访问日志查询功能
java·服务器·flask
李昊哲小课11 小时前
Ubuntu 24.04 安装开源WebRTC信令服务器
服务器·ubuntu·mediasoup·janus·信令服务器