You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署带SASL认证的Kafka时遇JAAS配置‘Client’段缺失错误

解决Kafka连接Zookeeper时的JAAS配置错误问题

问题现象

Kafka启动日志报错:

[2023-02-02 11:49:24,708] WARN SASL configuration failed. Will continue connection to Zookeeper server without SASL authentication, if Zookeeper server allows it. (org.apache.zookeeper.ClientCnxn)
javax.security.auth.login.LoginException: No JAAS configuration section named 'Client' was found in specified JAAS configuration file: '/home/etozhekim/IdeaProjects/veles-core/kafka_server_jaas.conf'

核心原因

容器内无法正确读取宿主机挂载的JAAS配置文件,同时Kafka连接Zookeeper的认证模块与Zookeeper的配置不匹配,加上Listeners配置存在重复冲突。

解决步骤

1. 修正Docker卷挂载路径

Confluent镜像不会自动识别宿主机的绝对路径,需将配置文件挂载到容器内的标准目录:

修改docker-compose.yml中Zookeeper服务配置

zookeeper:
  image: confluentinc/cp-zookeeper
  environment:
    ZOOKEEPER_CLIENT_PORT: 2181
    ZOOKEEPER_TICK_TIME: 2000
    ZOOKEEPER_INIT_LIMIT: 5
    ZOOKEEPER_SYNC_LIMIT: 2
    KAFKA_OPTS:
      -Djava.security.auth.login.config=/etc/zookeeper/secrets/zookeeper_server_jaas.conf
      -Dquorum.auth.enableSasl=true
      -Dquorum.cnxn.threads.size=20
      -Dzookeeper.authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
      -DjaasLoginRenew=3600000
      -DrequireClientAuthScheme=sasl
  volumes:
    - /home/etozhekim/IdeaProjects/veles-core/zookeeper_server_jaas.conf:/etc/zookeeper/secrets/zookeeper_server_jaas.conf
  networks:
    - kafka-cluster-network

修改docker-compose.yml中Kafka服务配置

kafka:
  image: confluentinc/cp-kafka
  ports:
    - "9092:9092"
  depends_on:
    - zookeeper
  environment:
    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
    KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
    KAFKA_SECURITY_INTER_BROKER_PROTOCOL: SASL_PLAINTEXT
    KAFKA_LISTENERS: SASL_PLAINTEXT://0.0.0.0:9092
    KAFKA_ADVERTISED_LISTENERS: SASL_PLAINTEXT://localhost:9092
    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    KAFKA_OPTS:
      -Dzookeeper.sasl.client=true
      -Djava.security.auth.login.config=/etc/kafka/secrets/kafka_server_jaas.conf
  volumes:
    - /home/etozhekim/IdeaProjects/veles-core/kafka_server_jaas.conf:/etc/kafka/secrets/kafka_server_jaas.conf

2. 匹配Kafka与Zookeeper的认证模块

Zookeeper使用Digest认证,Kafka连接Zookeeper的Client段需对应使用DigestLoginModule,修正kafka_server_jaas.conf:

KafkaServer {
    org.apache.kafka.common.security.scram.ScramLoginModule required
    username="kafkabroker"
    password="password";
};
Client {
    org.apache.zookeeper.server.auth.DigestLoginModule required
    username="admin"
    password="password";
};

3. 重启服务

docker-compose down
docker-compose up -d

内容的提问来源于stack exchange,提问作者Kim Vladimir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 10:01:43