【kafka2.4.1】kafka增加身份认证

kafka默认部署情况下是没有身份认证。
基础环境准备:
1、版本 kafka 2.4.1 ,zookeeper3.5.7(自行下载)
在这里插入图片描述
2、单节点 kafka
配置开始( 只需要配置kafka 即可,无需配置zk):
1、进入kafka目录,修改kafka配置文件,修改config/server.properties文件,并添加如下内容

vi config/server.properties
#配置zookeeper管理kafka的路径
zookeeper.connect=localhost:2181
#配置kafka的监听端口(SASL_PLAINTEXT:动态增加用户协议,PLAINTEXT 不能动态增加用户)
listeners=SASL_PLAINTEXT://:9092
#把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IPSASL_PLAINTEXT:动态增加用户协议,PLAINTEXT 不能动态增加用户)
advertised.listeners=SASL_PLAINTEXT://你外网的ip:9092
#使用的认证协议(SASL_PLAINTEXT:动态增加用户协议,PLAINTEXT 不能动态增加用户)
security.inter.broker.protocol=SASL_PLAINTEXT
#SASL机制
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
#完成身份验证的类
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer#如果没有找到ACL(访问控制列表)配置,则允许任何操作。
allow.everyone.if.no.acl.found=false
#需要开启设置超级管理员,设置visitor用户为超级管理员
super.users=User:visitor

2、在kafka目录下config目录,创建配置文件kafka_server_jaas.conf,填入如下内容。

KafkaServer {
	org.apache.kafka.common.security.plain.PlainLoginModule 			
	requiredusername="visitor"
	password="qaz@123"
	user_visitor="qaz@123";
};

3、在当前kafka目录下,修改kafka启动脚本

vi bin/kafka-server-start.sh

在文件最上面添加变量

export KAFKA_OPTS=" -Djava.security.auth.login.config=/xxx/config/kafka_server_jaas.conf"

4、启动zk、kafka

zk启动
./zkServer.sh start
kafka 启动
nohup bin/kafka-server-start.sh -daemon config/server.properties  >> logs/server.log  2>&1 &

5、springboot 连接kafka

spring:
  kafka:
    # 指定kafka 代理地址,可以多个
    bootstrap-servers: xxx.xxx.xxx.xxx:9092 
    producer: # 生产者
      retries: 1 # 设置大于0的值,则客户端会将发送失败的记录重新发送
      # 每次批量发送消息的数量
      batch-size: 16384
      buffer-memory: 33554432
      # 指定消息key和消息体的编解码方式
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
      #修改最大向kafka推送消息大小
      properties:
        max.request.size: 52428800
    consumer:
      #手动提交offset保证数据一定被消费
      enable-auto-commit: false
      #指定从最近地方开始消费(earliest)
      auto-offset-reset: latest
      #消费者组
      #group-id: dev
    properties:
      security:
        protocol: SASL_PLAINTEXT
      sasl:
        mechanism: PLAIN
        jaas:
          config: 'org.apache.kafka.common.security.scram.ScramLoginModule required username="visitor" password="qaz@123";'

文章参考:http://wed.xjx100.cn/news/216531.html?action=onClick

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kafka 2.4.1是Apache Kafka的一个版本,它提供了一套API,为开发者提供了各种功能和工具,用于构建和管理Kafka集群以及处理数据流。 Kafka的API包括: 1. Producer API:用于向Kafka发送消息,将数据发送到Kafka集群的topic中。开发者可以通过API设置消息的键和值,以及指定使用的分区。 2. Consumer API:用于从Kafka读取消息,从指定的topic中消费数据。开发者可以通过API指定要消费的topic和分区,并处理从Kafka读取的消息。 3. Streams API:用于构建实时流处理应用程序,将数据流转换为处理和分析的结果。开发者可以使用Streams API来处理输入流并生成输出流,同时进行聚合、过滤、转换等操作。 4. Connect API:用于将Kafka与其他数据存储系统和源集成。开发者可以使用Connect API来编写连接器,将Kafka与外部系统集成,以实现数据的传输和同步。 5. Admin API:用于管理Kafka集群,包括创建和删除topics、分区的增删改查、配置的管理等操作。开发者可以使用Admin API进行集群管理和监控。 除此之外,Kafka提供了一些辅助工具和功能,用于简化和增强开发和管理体验。例如,Kafka提供了一个命令行工具kafka-console-consumer和kafka-console-producer,用于在命令行界面上进行消费和生产消息。Kafka还提供了一些监控工具,如Kafka Monitor和Kafka Manager,用于实时监控集群的状态和性能。 总之,Kafka 2.4.1的API提供了丰富的功能,使开发者能够方便地处理和管理数据流,构建可扩展和高性能的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值