赞
踩
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,如果是远程访问要改成外网IP(SASL_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";'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。