docker-compose部署 Kafka 3.7 启用账号密码认证
创作时间:
作者:
@小白创作中心
docker-compose部署 Kafka 3.7 启用账号密码认证
引用
CSDN
1.
https://blog.csdn.net/xingzuo_1840/article/details/139339490
本文将详细介绍如何使用docker-compose部署Kafka 3.7,并启用账号密码认证。通过本文,你将学会如何创建Kafka的工作目录、编写docker-compose配置文件,以及如何进行权限测试。
1. 部署
1.1 创建工作目录
- 创建
kafka
目录,进入该目录
1.2 yml文件
1)文件内容
创建docker-compose.yml 文件,内容如下:
version: "3"
services:
kafka:
image: 'bitnami/kafka:3.7.0'
user: root
ports:
- '9092:9092'
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://:9093,EXTERNAL://: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=liu_bei
- KAFKA_CLIENT_PASSWORDS=liubei@161
- KAFKA_INTER_BROKER_USER=liu_bei
- KAFKA_INTER_BROKER_PASSWORD=liubei@161
- KAFKA_CFG_NODE_ID=1
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@127.0.0.1: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)说明:
- KAFKA_CFG_PROCESS_ROLES:kafka扮演角色:broker 和 controller,即代表使用raft模式
- BITNAMI_DEBUG=true:控制台打印日志
- ALLOW_PLAINTEXT_LISTENER=no:Kafka 不允许使用非加密的(即明文的)监听器(listener)来接受客户端连接
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES:控制器名称 对应下面CONTROLLER://:9093
- KAFKA_CFG_NUM_PARTITIONS:默认分区数
- KAFKA_CFG_LISTENERS:监听器的地址和端口
- KAFKA_CFG_ADVERTISED_LISTENERS:发布监听器的地址和端口
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP:定义监听器所使用的不同协议
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME:指定了 Kafka broker 之间进行通信时所使用的监听器的名称
- KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL:指定了 Kafka broker 之间通信时所使用的 SASL 认证机制,为PLAIN
- KAFKA_CFG_SASL_ENABLED_MECHANISMS:指定了 Kafka broker 支持哪些 SASL 认证机制
- KAFKA_CLIENT_USERS:客户端账号(必须是已经创建的)
- KAFKA_CLIENT_PASSWORDS:客户端用户的密码
- KAFKA_INTER_BROKER_USER:内部broker之间通信账号(必须是已经创建的)
- KAFKA_INTER_BROKER_PASSWORD:内部broker之间通信密码
- KAFKA_CFG_NODE_ID:节点ID (如果多个节点,每个节点不相同)
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS:定义了哪些 broker 将参与控制器的选举
- KAFKA_KRAFT_CLUSTER_ID:集群id(所有节点相同)
- KAFKA_OPTS:指定JAAS配置文件路径
1.3 启动
[root@liubei kafka]# docker-compose up -d
[root@liubei kafka]# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------
kafka_kafka_1 /opt/bitnami/scripts/kafka ... Up 0.0.0.0:9092->9092/tcp
2. 测试
2.1 kafkamap搭建(测试工具)
- 创建
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'
2.2 权限测试
- web登录:http://IP:8080
- 创建连接
- 链接创建成功
- 创建topic
- topic 创建成功
热门推荐
什么是门锁类型
书法作品尺幅越大,价值越小
工会预算信息公开透明度标准有哪些?
人的酒量各不相同,究竟是由什么决定的?
逾期压降措施:有效管理信贷风险,提高金融机构核心竞争力
固定资产盘点流程详解
企业如何通过SQL数据库实现高可用性与容错机制?
寓意深远的希腊名字女
朝北卧室改善方法,让阳光充盈
石墨板:一种高性能工业材料的全面解析
笔记本硬件升级完全指南:从CPU到内存的全面改造
灭火器出厂三年需检修?官方回应来了!
拖欠工资怎么办?法院调解有手段
历史微课视频制作:步骤与技巧全攻略
发电机为什么能给电瓶充电——简述汽车充电系统的结构和工作原理
跨部门协作如何建立
《未知升变转生》打怪技巧全攻略:从转生到团队协作的全方位指南
战场博弈,为谈判加筹码
空气净化器能有效去除甲醛的使用指南
审计债权取证单的法律性质与实务运用
手机充电器怎么改快充
项目管理问题分析怎么写
高等数学学习笔记:一元函数微分的基础知识
如何把u盘内容复制到虚拟机
冰箱和冰柜的区别?冰箱VS冰柜:如何选择适合你的冷藏设备
口腔溃疡如何护理,治疗口腔溃疡的小妙招,早知道
意大利校园霸凌调查:近八成学生目睹暴力行为,超半数未获心理支持
汽车贴膜避坑指南:如何避免被“割韭菜”?
孩子从小说话舌头不灵活怎么办?
“一鸽胜九鸡”:鸽子的营养价值与食用禁忌