winds版kafka3.8.0增加SASL_PLAINTEXT 认证

打印 上一主题 下一主题

主题 965|帖子 965|积分 2895

近来须要对接一些告警数据须要用kafka SASL_PLAINTEXT 认证,之前没用过kafka 查了很多资料末了终于搞定了 记录分享一下。
1. 安装 Kafka 及依赖项c



  • 确保已经安装了 Kafka 3.8.0 及其依赖项,比方 Java 运行时情况(JRE)。
2. 编辑 Kafka 配置文件



  • Kafka 的主要配置文件是 server.properties,位于 Kafka 安装目录下的 config/ 文件夹中
配置 broker(Kafka 服务端)



  • 打开 config/server.properties 并进行以下修改:
  1. # 设置监听器(允许 SASL_PLAINTEXT 协议)
  2. listeners=SASL_PLAINTEXT://:9092
  3. # 如果你有其他协议,也可以加上PLAINTEXT监听器
  4. # listeners=SASL_PLAINTEXT://:9092,PLAINTEXT://:9093
  5. #以下是新增的
  6. #定义 broker 之间通信的协议
  7. inter.broker.listener.name=SASL_PLAINTEXT
  8. #SASL机制
  9. sasl.enabled.mechanisms=PLAIN
  10. # Kafka broker 间使用的 SASL 机制
  11. sasl.mechanism.inter.broker.protocol=PLAIN
  12. # 配置 JAAS(Java Authentication and Authorization Service)
  13. listener.name.sasl_plaintext.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
  14.    username="admin" \
  15.    password="admin-secret" \
  16.    user_admin="admin-secret" \
  17.    user_alice="alice-secret";
  18. # 指定 Kafka broker 的 JAAS 配置文件路径
  19. java.security.auth.login.config=kafka安装目录/config/kafka_server_jaas.conf
复制代码
3. 创建 JAAS 配置文件(kafka_server_jaas.conf)



  • 在 Windows 中,你须要创建一个独立的 JAAS 配置文件来定义 Kafka 服务端的认证信息。
    在 kafka安装目录/config/目录下创建一个文件,定名为 kafka_server_jaas.conf,内容如下:
  1. KafkaServer {
  2.    org.apache.kafka.common.security.plain.PlainLoginModule required
  3.    username="admin"
  4.    password="admin-secret"
  5.    user_admin="admin-secret"
  6.    user_alice="alice-secret";
  7. };
复制代码
4. 配置 Zookeeper



  • 编辑 zookeeper.properties 文件:
  1. authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
  2. requireClientAuthScheme=sasl
  3. jaasLoginRenew=3600000
复制代码
5. 配置客户端(producer.properties与consumer.properties)



  • 为了让 Kafka 客户端(生产者和消费者)能够通过 SASL_PLAINTEXT 认证连接 Kafka broker,客户端也须要相应的配置。
  1. security.protocol=SASL_PLAINTEXT
  2. sasl.mechanism=PLAIN
  3. sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
  4. username="alice" \
  5. password="alice-secret";
复制代码
6. 启动 Kafka 和 Zookeeper


  • 启动 Zookeeper:
  1. bin\windows\zookeeper-server-start.bat config\zookeeper.properties
复制代码

  • 启动 Kafka:
  1. bin\windows\kafka-server-start.bat config\server.properties
复制代码
7. 测试生产者和消费者



  • 启动生产者:
  1. bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test-topic --producer.config ../../config/producer.properties
复制代码


  • 启动消费者:
  1. bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test-topic --consumer.config ../../config/consumer.properties --from-beginning
复制代码
8. 测试和验证



  • 启动生产者和消费者,测试是否能够正常通过 SASL_PLAINTEXT 连接并进行身份验证。
用kafka tool 测试连接


  • 第一步 add new addConnection

  • 第二步 security 选择 SASL Plaintext

  • 第三步 Advanced


  • Bootstrap servers 填自己的kafka服务地址与ip
  • SASL Mechanism输入: PLAIN


  • 第四步 JAAS config


  • 输入客户端中配置的用户名密码内容
  1. org.apache.kafka.common.security.plain.PlainLoginModule required
  2. username="alice"
  3. password="alice-secret";
复制代码

点击 test测试连通性 并完成生存!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表