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='你的密码';
相关推荐
鱼跃鹰飞20 分钟前
面试题:Kafka的零拷贝的底层实现是什么?是MMAP还是sendFile还是其他的?
分布式·kafka·系统架构
Jackyzhe1 小时前
Flink源码阅读:Kafka Connector
大数据·flink·kafka
Lonely丶墨轩2 小时前
Kafka消费者与文档处理系统技术文档
kafka
indexsunny2 小时前
互联网大厂Java求职面试实战:Spring Boot微服务与Kafka消息队列场景解析
java·spring boot·面试·kafka·microservices·interview·distributed systems
重生之绝世牛码2 天前
Linux软件安装 —— kafka集群安装(SASL密码验证)
大数据·linux·运维·服务器·分布式·kafka·软件安装
谷新龙0012 天前
kafka工作原理
kafka
这儿有个昵称2 天前
Java面试场景:从音视频到微服务的技术深挖
java·spring boot·spring cloud·微服务·面试·kafka·音视频
小宋10212 天前
Kafka 自动发送消息 Demo 实战:从配置到发送的完整流程(java)
java·分布式·kafka
lhyzws2 天前
CENTOS上的网络安全工具(三十四) Portainer Kafka-Clickhouse部署(3) 连接kafka和clickhouse
clickhouse·kafka·centos
这儿有个昵称3 天前
互联网大厂Java面试场景:从Spring框架到微服务架构的提问解析
java·spring boot·微服务·kafka·grafana·prometheus·数据库优化