基于Docker部署Kafka 3.8.0并开启SASL认证的完整指南
创作时间:
作者:
@小白创作中心
基于Docker部署Kafka 3.8.0并开启SASL认证的完整指南
引用
CSDN
1.
https://blog.csdn.net/m0_54138989/article/details/145466250
本文将详细介绍如何在Docker环境下部署Kafka 3.8.0版本,并开启SASL认证模式。通过本文,读者将能够掌握从下载安装包、配置文件修改到服务启动和测试生产的完整流程。
1. 下载安装包
访问Kafka官方下载页面,下载Kafka 3.8.0版本的安装包。具体版本如下图所示:
2. 解压安装包
使用以下命令对下载的安装包进行解压:
tar -xvf kafka_2.13-3.8.0.tgz
3. 增加配置文件
3.1 配置Kafka服务器认证信息
进入Kafka配置目录:
cd kafka_2.13-3.8.0/config
创建kafka_server_jaas.conf
文件,内容如下:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
serviceName = "kafka3.8.0"
username="admin"
password="admin"
user_admin="admin"
user_alice="alice";
};
3.2 修改服务器属性文件
编辑server.properties
文件,增加以下配置:
# 安全内部协议,指定使用SASL协议
security.inter.broker.protocol=SASL_PLAINTEXT
# SASL认证机制,默认使用PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
# 如果没有找到ACL(访问控制列表)配置,则允许任何操作。
allow.everyone.if.no.acl.found=false
# 超级管理员权限用户
super.users=User:admin
# 监听
listeners=SASL_PLAINTEXT://localhost:9092
# 这个地址是客户端用来连接到Kafka Broker的地址
advertised.listeners=SASL_PLAINTEXT://localhost:9092
3.3 配置客户端认证信息
创建kafka_consumer_jaas.conf
文件,内容如下:
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin";
};
创建kafka_producer_jaas.conf
文件,内容如下:
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin";
};
3.4 配置Topic认证信息
创建kafka_topic_jass.properties
文件,内容如下:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin";
3.5 修改生产者和消费者配置文件
在producer.properties
文件末尾添加:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
在consumer.properties
文件末尾添加:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
4. 修改启动脚本
4.1 修改Kafka服务器启动脚本
编辑kafka-server-start.sh
脚本,在最上方添加:
export KAFKA_OPTS="-Djava.security.auth.login.config=/kafka_2.13-3.8.0/config/kafka_server_jaas.conf"
4.2 修改生产者控制台启动脚本
编辑kafka-console-producer.sh
脚本,在最上方添加:
export KAFKA_OPTS=" -Djava.security.auth.login.config=/kafka_2.13-3.8.0/config/kafka_producer_jaas.conf"
4.3 修改消费者控制台启动脚本
编辑kafka-console-consumer.sh
脚本,在最上方添加:
export KAFKA_OPTS=" -Djava.security.auth.login.config=/kafka_2.13-3.8.0/config/kafka_consumer_jaas.conf"
5. 启动Zookeeper服务
在Kafka根目录下执行:
./zookeeper-server-start.sh ../config/zookeeper.properties &
后台运行Zookeeper服务。使用以下命令检查Zookeeper是否正确启动:
lsof -i:2181
6. 启动Kafka服务
在Kafka根目录下执行:
./kafka-server-start.sh ../config/server.properties &
后台运行Kafka服务。使用以下命令检查Kafka是否正常启动:
lsof -i:9092
7. 创建Topic
执行以下命令创建Topic:
./kafka-topics.sh --create --bootstrap-server localhost:9092 --topic zhangsan --command-config ../config/kafka_topic_jass.properties
使用以下命令查询已创建的Topic列表:
./kafka-topics.sh --list --bootstrap-server localhost:9092 --command-config ../config/kafka_topic_jass.properties
8. 启动生产者测试发送数据
执行以下命令启动生产者:
./kafka-console-producer.sh --broker-list localhost:9092 --topic zhangsan --producer.config ../config/producer.properties
9. 启动消费者测试接收消息
执行以下命令启动消费者:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic zhangsan --consumer.config ../config/consumer.properties
通过以上步骤,读者可以成功在Docker环境下部署Kafka 3.8.0版本并开启SASL认证模式。希望本文对大家有所帮助!
热门推荐
ABS和CBS哪个好?全面比较与解析
海岛棉是什么棉
2024年中国固态电池行业市场规模将达10GWh,华东市场占比近半
无花果麦冬百合的功效与作用
中国历史上的 10 次大政变
桂圆巧搭配,助你安然入睡
甲流需要隔离几天
中国兵器装备产品闪耀阿布扎比国际防务展
双歧杆菌四联活菌片和酪酸梭菌活菌胶囊可以一起吃吗
看似简单的把脉,却蕴藏着这么多学问和讲究!(28个动图让你秒懂脉象)
印度尼西亚地热能行业发展现状及行业人均收入
今年价格低于6元一斤,正在反向出口美国,我国的罗非鱼“国内冷,国外热”
一个爱吃腊八蒜的人,健康赢在了4个方面
租赁合同常见问题解答:期限未约定、单方违约与赔偿方式
如何在装修时进行色彩搭配和视觉效果设计?这种设计如何营造舒适的居住氛围?
左眼眼皮跳动的原因是什么?可能预示着哪些健康问题?
想要健康肠道?7种食物效排毒,恢复活力,尤其适合中老年人
公司购房有什么特殊性,借公司名义买房又有哪些弊端
软装设计师前景怎么样?揭秘软装行业发展趋势
千年古县|平度:“火牛阵”首发地、山东面积最大的县级市
速动比率的定义及影响
药食同源的补益药党参,生津养血、补脾益肺,保护肠胃
千年古县|平度:“火牛阵”首发地、山东面积最大的县级市
江西工业工程职业技术学院怎么样好不好 附重点专业和校友口碑
外媒评述:中老铁路为老挝带来发展红利
高考必备:解读那些年我们一起背过的古诗词(高二篇)
韩安国:西汉名臣的智勇与仁厚
智慧棋局:围棋入门教学的反击艺术
日本赛马规则有多狠?多位骑师因使用手机遭禁赛或退役
环保LOGO设计理念