繁体   English   中英

使用 docker-compose (binami/kafka) 中的 SASL_PLAINTEXT 连接到 Kakfka 代理

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM