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='你的密码';
相关推荐
huisheng_qaq1 小时前
【kafka-03】springboot整合kafka以及核心参数详解
spring boot·kafka·消息队列·topic·partition·kafka底层原理
晚枫20001 小时前
kafka发送事件的几种方式
spring boot·分布式·docker·容器·kafka·intellij-idea·linq
小王是个弟弟2 小时前
ClickHouse-Kafka Engine 正确的使用方式
clickhouse·kafka
happycao1232 小时前
kafka 一步步探究消费者组与分区分配策略
中间件·kafka
qianer0_02 小时前
php实现kafka
kafka·php·linq
happycao1232 小时前
kafka消息发送几种方式
分布式·kafka
天地风雷水火山泽2 小时前
二百六十四、Java——Java采集Kafka主题A的JSON数据,解析成一条条数据,然后写入Kafka主题B中
java·开发语言·kafka
xuchengxi-java2 小时前
本地不能訪問linux的kafka服務
分布式·kafka
Fan2 小时前
Kafka 下载安装及使用总结
分布式·kafka
青云交19 小时前
大数据新视界 --大数据大厂之Kafka消息队列实战:实现高吞吐量数据传输
大数据·kafka·消息队列·高吞吐量·大数据新视界·技术奥秘·应用场景、新兴技术