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 创建成功
热门推荐
情绪波动竟引发打哈欠后打嗝?
详解征地补偿:资金管理要求严,发放时间视情况而定
自然语言处理:技术突破、应用实践与伦理考量
气候变化让大米越来越难吃?科学家已经找到证据
五常大米 vs 南方大米,谁才是冬日暖锅的最佳搭档?
喝绿茶的好处和坏处
轻松预约国博:平台选择、时段攻略及观展指南
国博分时段预约攻略:防疫要求、必看展览全知道
从皇权象征到科学符号:龙图案的传承与创新
蛋白质摄入量研究:0.83g/kg标准的由来与现实意义
<论语>进课堂:北建大探索传统文化融入职业指导
安国山梨醇跟其他成分有什么区别?
龙脊梯田的秘密:为何这里的大米这么好吃?
浙江省农科院揭秘:优质大米产地的秘密
三叉神经痛就诊指南:5个科室的选择要点
一文读懂租赁合同:从租期到租金的法律要点
多出租人联合租赁模式兴起,破解单一出资难题
租房三大痛点破解:无合同被赶、设施损坏、合同丢失
带状疱疹与三叉神经痛:从病因到治疗的全方位解读
最“粘人”的10大美食,哪个粘住了你?
南京长江大桥摄影打卡攻略,你get了吗?
宁扬长江大桥通车,揭秘南京长江大桥设计奥秘
打卡南京长江大桥,感受“争气桥”的魅力
国家卫健委&营养学会联合发布:最新婴儿喂养营养指南
全飞秒精准4.0是“智商税”?值不值得做?你想知道的都在这儿
秦岭棕色大熊猫:基因突变揭示物种保护新线索
揭秘大熊猫"变色龙"基因:Bace2突变让"黑白配"变成"棕白配"
中国古代军事制度与兵器:相互影响的千年演进
MFM模型:分解多模态表示,提升情感计算精度
蝉蜕:大自然的神奇馈赠与医疗宝藏