文章目录
- 前言
- 下载 kafka
- 安装
- 启动zookeeper
- 添加账号密码
- 启动kafka
- 修改kafka配置文件
- 增加jaas授权文件
- 修改启动文件,启动kafka
- 检查是否部署成功
- offset explore 连接
前言
其实挺简单的几个配置文件,问大模型一直没说到点上,绕晕了。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
安装
解压文件,到指定解压的目录下
tar -zxvf kafka_2.12-3.6.0.tgz
cd kafka_2.12-3.6.0
启动zookeeper
kafka
的目录本身是带有 zookeeper
的,我们可以直接使用,不需要再去下载一个 zookeeper
。
如果本身已经在电脑上装过了把
/tmp
目录下的kafka-log
、zookeeper
目录删除
bin/zookeeper-server-start.sh config/zookeeper.properties
添加账号密码
先添加账号密码,否则先启动
kafka
会一直输出授权错误
./kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[password=你的密码],SCRAM-SHA-512=[password=你的密码]' --entity-type users --entity-name 用户名
启动kafka
修改kafka配置文件
在最后添加这几行配置就可以
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授权文件
这个文件随便放哪里最后要在启动命令文件里面指定
KafkaServer {
org.apache.kafka.common.security.scram.ScramLoginModule required
username="用户名"
password="你的密码";
};
修改启动文件,启动kafka
vi bin/kafka-server-start.sh
# 放在 exec 命令之前
export KAFKA_OPTS="-Djava.security.auth.login.config=前面的文件路径"
# 保存文件退出
# 执行启动命令
bin/kafka-server-start.sh config/server.properties
检查是否部署成功
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
配置 mechanism
为 SCRAM-SHA-256
jaas config
增加配置
org.apache.kafka.common.security.scram.ScramLoginModule required username='用户名' password='你的密码';