Kafka 基于SASL/SCRAM动态认证部署,kafka加账号密码登录部署

文章目录

前言

其实挺简单的几个配置文件,问大模型一直没说到点上,绕晕了。SASL/SCRAM 的认证涉及到要先在 zookeeper 上创建好认证信息,最后慢慢捋下来,其实就这么几个配置和命令。

下载 kafka

下载地址:https://kafka.apache.org/downloads

我下载的版本是 3.6.0

https://archive.apache.org/dist/kafka/3.6.0/kafka_2.12-3.6.0.tgz

安装

解压文件,到指定解压的目录下

shell 复制代码
tar -zxvf kafka_2.12-3.6.0.tgz
cd kafka_2.12-3.6.0

启动zookeeper

kafka 的目录本身是带有 zookeeper 的,我们可以直接使用,不需要再去下载一个 zookeeper

如果本身已经在电脑上装过了把 /tmp 目录下的 kafka-logzookeeper 目录删除

shell 复制代码
bin/zookeeper-server-start.sh config/zookeeper.properties

添加账号密码

先添加账号密码,否则先启动kafka会一直输出授权错误

shell 复制代码
./kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[password=你的密码],SCRAM-SHA-512=[password=你的密码]' --entity-type users --entity-name 用户名

启动kafka

修改kafka配置文件

在最后添加这几行配置就可以

shell 复制代码
listeners=SASL_PLAINTEXT://127.0.0.1:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256
sasl.enabled.mechanisms=SCRAM-SHA-256

增加jaas授权文件

这个文件随便放哪里最后要在启动命令文件里面指定

shell 复制代码
KafkaServer {
    org.apache.kafka.common.security.scram.ScramLoginModule required
    username="用户名"
    password="你的密码";
};

修改启动文件,启动kafka

shell 复制代码
vi bin/kafka-server-start.sh
# 放在 exec 命令之前
export KAFKA_OPTS="-Djava.security.auth.login.config=前面的文件路径"
# 保存文件退出

# 执行启动命令
bin/kafka-server-start.sh config/server.properties

检查是否部署成功

shell 复制代码
cat > sasl_plaintext.cfg <<EOF
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username='用户名' password='你的密码';
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-256
EOF

./kafka-topics.sh  --bootstrap-server 127.0.0.1:9092 --command-config 文件夹目录/sasl_plaintext.cfg --list

正常输出的话就是部署成功了。

offset explore 连接

security 选择好类型

advanced 配置 mechanismSCRAM-SHA-256

jaas config 增加配置

shell 复制代码
org.apache.kafka.common.security.scram.ScramLoginModule required username='用户名' password='你的密码';
相关推荐
clz13145213 分钟前
用 Akka Actor 模拟消费 Kafka 加工处理并发送到 Flink Out Kafka 的完整示例
flink·kafka·linq
(Charon)1 小时前
【Kafka】消息队列学习(二):Topic、Partition与Offset,消息到底存在哪里
分布式·学习·kafka
大橙子plus1 天前
linux搭建kafka
linux·运维·kafka
letisgo51 天前
JAVA 高级进阶10篇《消息队列实战:RocketMQ/Kafka选型与“不丢不重有序“三连解》
java·面试·kafka·消息队列·rocketmq
雾隐隐o1 天前
Kafka 集群搭建:从核心概念到多节点部署
分布式·kafka
凤山老林1 天前
Spring Boot 集成 Apache Kafka Streams 构建流处理应用:状态存储、窗口聚合与
spring boot·kafka·apache
小楼昨夜又东风1262 天前
kafka、rocketmq、rabbitmq,有什么区别
kafka·rabbitmq·rocketmq
Thomas21433 天前
kafka 存储flink changelog两种方式和形态
分布式·flink·kafka
禾吾4 天前
Kafka基础-安装、基础命令等
kafka
cpolar技术支持4 天前
Kafka Streams 窗口统计怎么验收:本地跑订单流聚合,用 cpolar 给同事看只读结果页
java·docker·kafka·cpolar·kafka streams