- 服务端配置(server.properties):
# 开启SASL认证
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN# 配置JAAS文件路径
listeners=SASL_PLAINTEXT://localhost:9092
sasl.enabled.mechanisms=PLAIN
listener.name.sasl_plaintext.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \username="admin" \password="admin-pwd" \user_admin="admin-pwd" \user_user1="user1-pwd";
- 客户端配置(consumer.properties/producer.properties):
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \username="admin" \password="admin-pwd";
- 启动Kafka前需要配置JAAS文件(kafka_server_jaas.conf):
KafkaServer {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin-pwd"user_admin="admin-pwd"user_user1="user1-pwd";
};
- 启动Kafka时指定JAAS文件:
export KAFKA_OPTS="-Djava.security.auth.login.config=/path/to/kafka_server_jaas.conf"
bin/kafka-server-start.sh config/server.properties
要使用命令行工具时,需要配置consumer.properties或producer.properties:
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 \--topic test \--producer.config config/producer.propertiesbin/kafka-console-consumer.sh --bootstrap-server localhost:9092 \--topic test \--consumer.config config/consumer.properties
下载开源的kafka界面客户端KafkaKing:https://github.com/Bronya0/Kafka-King
新建连接,配置SASL机制,用户名、密码