搞了几天,不得不说官方文档有些不友善, 趟了许多坑,密码认证官网提供了几种,这里用最简单的一种,第一装好zookeeper,解压kafka
然后在kafka的config下面建立配置文件
vim config/kafka_server_jaas.conf
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username=”admin”
password=”admin-secret”
user_admin=”admin-secret”
user_alice=”alice-secret”;
};
然后添加KAFKA_OPTS环境变量,这里我修改用户的环境变量,当然也可以修改/etc/profile
vim ~/.bashrc ,在末尾添加
export KAFKA_OPTS=”-Djava.security.auth.login.config=/www/kafka/config/kafka_server_jaas.conf”
添加完成之后source ~/.bashrc
vim config/server.properties , 配置broker
listeners=SASL_PLAINTEXT://localhost:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
allow.everyone.if.no.acl.found=true
super.users=User:admin
配置消费者和生产者的配置文件
vim config/con-pro-acl.properties
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username=”alice” password=”alice-secret”;
先启动zookeeper,再启动kafka,zk先不需要做什么配置
bin/zkServer.sh start
再启动kafka,如果启动不终止,就报一个err说zk权限错误,没事,不影响
bin/kafka-server-start.sh -daemon config/server.properties
生产者命令和消费者命令
bin/kafka-console-producer.sh –bootstrap-server localhost:9092 –topic test –producer.config config/con-pro-acl.properties
bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –group your-group –consumer.config config/con-pro-acl.properties
可以看到控制台能正常生产和消费
参考链接:https://developer.ibm.com/tutorials/kafka-authn-authz/


