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客户端密码错误,则会报错

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部