kafka实战SASL/PLAIN认证

半兽人 发表于: 2019-10-22   最后更新时间: 2022-01-02 18:13:50  
{{totalSubscript}} 订阅, 12,001 游览

more config/server.properties

listeners=SASL_PLAINTEXT://localhost:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN

more /etc/kafka/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";
};

more /etc/kafka/kafka_client_jaas.conf

KafkaClient {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="alice"
    password="alice-secret";
};

consumer.properties 和 producer.properties

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

启动kafka

export KAFKA_OPTS='-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf'
bin/kafka-server-start.sh config/server.properties

kafka消费者和生产者

export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka/kafka_client_jaas.conf"
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test --producer.config config/producer.properties 

export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka/kafka_client_jaas.conf"
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --consumer.config config/consumer.properties

本例说明文档参考

kafka使用SASL/PLAIN认证

更新于 2022-01-02
在线,2小时前登录

没干嘛 1年前

export KAFKA_OPTS='-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf'
这个参数可以配置在/etc/profile里面么

半兽人 -> 没干嘛 1年前

可以,每次进入会加载。

红尘林 1年前

INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Failed authentication with /172.18.35.96 (Authentication failed: Invalid username or password) (org.apache.kafka.common.network.Selector)

请问这种报错是哪里用户名密码错了呢,检查了很多用户密码,都是一致的

半兽人 -> 红尘林 1年前

这个错误太明确了,就是账密不对,也许你的账密都没有传递给kafka。

红尘林 -> 半兽人 1年前

你好,应该怎么传递给kafka呢,我也是刚学习kafka,不是太了解

半兽人 -> 红尘林 1年前

你客户端是什么?还是用的命令行。

红尘林 -> 半兽人 1年前

客户端

半兽人 -> 红尘林 1年前

带入到环境变量中:

export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka/kafka_client_jaas.conf"

然后执行:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --consumer.config config/consumer.properties

红尘林 -> 半兽人 1年前

已经解决了,十分感谢

‭    1年前

请问用docker部署的这个,docker-compose文件应该怎么配置才行?我试了好多次,运行都是没认证的,不知道错在哪了。。好迷茫

半兽人 -> ‭    1年前

这...比较细节了,仔细检查检查吧

‭    -> 半兽人 1年前

有没有这方面的参考教程呢,3.0版本的

月别千秋 4年前

PLAINTEXT、SSL、 SASL_PLAINTEXT、 SASL_SSL。
你这个不是SASL_PLAINTEXT,而是SASL_PLAINTEXT + SSL的混合体

蛰涅 -> 月别千秋 4年前

好像是根据官网上翻译过来的,然后把配置贴出来了

查看kafka更多相关的文章或提一个关于kafka的问题,也可以与我们一起分享文章