搞了幾天,不得不說官方文檔有些不友好, 趟了很多坑,密碼認證官網提供了幾種,這里用最簡單的一種,首先裝好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環(huán)境變量,這里我修改用戶的環(huán)境變量,當然也可以修改/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
可以看到控制臺能正常生產和消費