本文主要是介绍kafka3.4.x配置sasl认证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景这里kafka使用的是单独部署的zookeeper 需要走认证配置
我这里使用的zookeeper版本是3.8.3 kafka 3.4.0
kafka安装目录:/usr/local/bin/xx/kafka
zookeeper安装目录:/usr/local/bin/xx/zookeeper
- 修改配置文件
- 找到kafka的/usr/local/bin/xx/kafka/config/server.properties文件
- 修改配置
1.KAFKA: 在server.properties 调整 改动之前: listeners=SASL_PLAINTEXT://0.0.0.0:9092 advertised.listeners=SASL_PLAINTEXT://x.x.x.x:9092 改动之后: listeners=SASL_PLAINTEXT://0.0.0.0:9092 advertised.listeners=SASL_PLAINTEXT://x.x.x.x:9092 security.inter.broker.protocol=SASL_PLAINTEXT sasl.enabled.mechanisms=PLAIN sasl.mechanism.inter.broker.protocol=PLAIN authorizer.class.name=kafka.security.authorizer.AclAuthorizer allow.everyone.if.no.acl.found=true zookeeper.client.sasl=true 2.ZOOKEEPER: 直接在zoo.cfg 最后增加authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthScheme=sasl jaasLoginRenew=3600000
- 增加认证jaas.conf文件
-
1.在kafka安装目录创建文件/usr/local/bin/xx/kafka/config/ touch kafka_server_jaas.conf 内容如下: KafkaServer {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="xx"user_admin="xx"user_kafka="xx"; };Client {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="kafka"password="xx"; };KafkaClient {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="kafka"password="xx"; }; 2.在zookeeper安装目录创建文件/usr/local/bin/xx/zookeeper/conf/ touch zk_server_jaas.conf 内容如下: Server {org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="xx" user_kafka="xx"; }; ps:这里创建了两个账户 admin和kafka3.全部设置完毕,重启zookeeper和kafka
-
- 消费验证
-
1.在kafka安装目录的config目录下创建鉴权文件 cd /usr/local/bin/xx/kafka/config touch sasl.config 内容如下: security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="xx";2.启动消费者 /usr/local/bin/xx/kafka/bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test -consumer.config /usr/local/bin/xx/kafka/config/sasl.config 3.启动生产者 /usr/local/bin/cscmc/app/kafka/bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test -producer.config /usr/local/bin/xx/kafka/config/sasl.config 4.自产自消能够成功说明配置全部正确
-
- 注意事项
- 单独部署的zookeeper 开启认证缺少依赖包,直接将kafka/libs下的kafka-client和lz4-java拷贝到zookeeer/lib下
- 新版本的kafka配置文件的类有更改由authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer --> kafka.security.authorizer.AclAuthorizer
这篇关于kafka3.4.x配置sasl认证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!