[英]Connect to Kakfka broker with SASL_PLAINTEXT in docker-compose (binami/kafka)
我在 Kafka 中实现用户名/密码。
当我尝试使用PLAINTEXT
时按预期工作,但是当我实施SASL_PLAINTEXT
时,我无法连接。
这是我的 docker-compose:
version: "3.8"
services:
zookeeper:
container_name: zookeeper
image: bitnami/zookeeper:latest
ports:
- 2181:2181
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka4userpass:
container_name: kafka4userpass
image: bitnami/kafka:latest
ports:
- '9096:9096'
environment:
- KAFKA_BROKER_ID=4
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_ZOOKEEPER_PROTOCOL:SASL_PLAINTEXT
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
- KAFKA_CFG_LISTENERS=CLIENT://:9092,EXTERNAL://:9096
- KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka4userpass:9092,EXTERNAL://localhost:9096
- KAFKA_INTER_BROKER_LISTENER_NAME=CLIENT
- KAFKA_CLIENT_USERS=kafkauser
- KAFKA_CLIENT_PASSWORDS=kafkapassword
volumes:
- './test/docker-compose/kafka_jaas.conf:/opt/bitnami/kafka/conf/kafka_jaas.conf:ro'
depends_on:
- zookeeper
kafdrop:
container_name: kafdrop
image: obsidiandynamics/kafdrop
restart: "no"
ports:
- "9000:9000"
environment:
KAFKA_BROKERCONNECT: "CLIENT://kafka1:9092,CLIENT://kafka2:9092,CLIENT://kafka3:9092,CLIENT://kafka4userpass:9092"
JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify"
depends_on:
#- "kafka1"
#- "kafka2"
#- "kafka3"
- "kafka4userpass"
我遇到的问题是kafka4userpass
。
这是我的kafka_jass.conf
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafkauser"
password="kafkapassword";
};
Client {
org.apache.zookeeper.server.auth.PlainLoginModule required
username="kafkauser"
password="kafkapassword";
};
我可以在 Kafdrop 中看到经纪人,但我无法连接。
我尝试使用Offset explorer 2.1
将他们的 jass 配置部分设置为: org.apache.kafka.common.security.plain.PlainLoginModule required username="kafkauser" password="kafkapassword";
PLAIN
但我收到Invalid Username or password
。
知道我丢失了哪个文件或我的配置有误吗?
谢谢。
从配置中删除此行
KAFKA_ZOOKEEPER_PROTOCOL SASL_PLAINTEXT
KafkaServer { org.apache.kafka.common.security.plain.PlainLoginModule required user_kafkauser="kafkapassword"; };
注意 user_kafkauser
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.