window上部署kafka3.6.1,并配置sasl认证

1 安装kafka

第一步安装kafka,并能成功启动,可参考文章Windows下安装Kafka3-CSDN博客


2 修改kafka的配置文件

server.properties是kafka的主要配置文件,里面有很多参数可以调整。

主要修改如下

listeners=SASL_PLAINTEXT://127.0.0.1:9092
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
security.inter.broker.protocol=SASL_PLAINTEXT

在server.properties中,你需要修改以下几个参数:

  • listeners:这是kafka的监听地址和端口,可以有多个。我们需要添加一个sasl_plaintext类型的监听器,表示使用sasl和明文传输。例如,我们可以设置为listeners=SASL_PLAINTEXT://127.0.0.1:9092,PLAINTEXT://:9093
  • sasl.enabled.mechanisms=PLAIN 启用 PLAIN 认证机制,这是一种基于用户名和密码的简单认证方式

  • sasl.mechanism.inter.broker.protocol=PLAIN 在broker之间使用 PLAIN 机制进行SASL认证

  • security.inter.broker.protocol=SASL_PLAINTEXT Kafka broker之间的通信将使用 SASL_PLAINTEXT 协议。这是为了保证内部通信的安全性


3 创建kafka_server_jaas.conf文件

这里我们定义了一个KafkaServer段,表示kafka服务器端使用的认证模块。我们使用PlainLoginModule,并指定了用户名和密码。我们还定义了两个用户,admin和alice,并分别给他们设置了密码。

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="123456"
    user_admin="123456";
};

 4 设置系统属性

我们在kafka-server-start.bat文件,设置环境变量,指向刚才的认证文件

set KAFKA_OPTS=-Djava.security.auth.login.config=D:\kafka_2.12-3.6.1\config\kafka_server_jaas.conf

然后我们启动kafka,如果能正常启动,则表明kafka服务端的验证配置已经完成


5 修改springboot项目的配置文件

这里只看关键配置,这里的用户名和密码要和之前配置文件里的一样,才能访问kafka

spring:
  kafka:
    producer: 
      properties:
        security.protocol: SASL_PLAINTEXT
        sasl.mechanism: PLAIN
        sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="123456";
    consumer: 
      properties:
        security.protocol: SASL_PLAINTEXT
        sasl.mechanism: PLAIN
        sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="123456";

注意:sasl.jaas.config配置项别忘了带; 要不然会报错 

如果kafka客户端密码错误,则会报错

  • 16
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值