首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SASL_PLAINTEXT连接Kakfka broker (binami/kafka)

用SASL_PLAINTEXT连接Kakfka broker (binami/kafka)
EN

Stack Overflow用户
提问于 2021-06-04 07:00:10
回答 1查看 3.2K关注 0票数 0

我正在用Kafka实现用户名/密码。

当我尝试使用PLAINTEXT时,它可以正常工作,但是当我实现SASL_PLAINTEXT时,我无法连接。

这是我的船坞-写作:

代码语言:javascript
复制
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

代码语言:javascript
复制
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

是否知道我丢失了哪个文件,或者我有哪些配置错误?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-04 07:20:16

从配置中删除这一行

KAFKA_ZOOKEEPER_PROTOCOL SASL_PLAINTEXT

代码语言:javascript
复制
 `KafkaServer {             org.apache.kafka.common.security.plain.PlainLoginModule required     user_kafkauser="kafkapassword";     };` 

注意user_kafkauser

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67832769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档