温馨提示×

ubuntu kafka配置用户怎么建

小樊
37
2026-09-02 13:15:07
栏目: 智能运维

在 Ubuntu 上给 Kafka 配置用户(开启 SASL 认证),一般步骤如下。下面以 Kafka 自带 Zookeeper + SASL/PLAIN 为例,适合新手快速搭建。


一、前提

  • 已安装 Kafka(假设路径:/opt/kafka
  • Kafka 版本 ≥ 2.x
  • 使用 SASL_PLAINTEXT(最简单,生产建议 SASL_SSL)

二、创建 Kafka 用户(JAAS 配置)

1. 创建用户配置文件

sudo mkdir -p /opt/kafka/config/users
sudo nano /opt/kafka/config/users/kafka_server_jaas.conf

内容示例(创建两个用户):

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin123"
    user_admin="admin123"
    user_kafka="kafka123";
};

说明:

  • username/password:broker 之间通信用户
  • user_xxx="密码":普通客户端用户

三、修改 Kafka 服务端配置

2. 修改 server.properties

sudo nano /opt/kafka/config/server.properties

添加或修改:

listeners=SASL_PLAINTEXT://:9092
advertised.listeners=SASL_PLAINTEXT://localhost:9092

security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN

authorizer.class.name=kafka.security.authorizer.AclAuthorizer
allow.everyone.if.no.acl.found=false
super.users=User:admin

四、让 Kafka 加载 JAAS

3. 修改启动脚本

sudo nano /opt/kafka/bin/kafka-server-start.sh

KAFKA_HEAP_OPTS 后加一行:

export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/kafka/config/users/kafka_server_jaas.conf"

五、客户端用户配置

4. 生产者 / 消费者 JAAS

sudo nano /opt/kafka/config/client_jaas.conf
KafkaClient {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="kafka"
    password="kafka123";
};

5. 客户端使用

export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/kafka/config/client_jaas.conf"
kafka-console-producer.sh \
  --bootstrap-server localhost:9092 \
  --topic test \
  --producer-property security.protocol=SASL_PLAINTEXT \
  --producer-property sasl.mechanism=PLAIN

六、ACL 授权(可选但推荐)

kafka-acls.sh \
  --bootstrap-server localhost:9092 \
  --add \
  --allow-principal User:kafka \
  --operation Write \
  --topic test

七、常见坑

✅ 用户必须在 jaas.conf 里提前写好(Kafka 无动态建用户)
✅ 改配置后必须 重启 Kafka
✅ 生产环境一定用 SSL + SASL


如果你愿意,我可以:

  • 给你 Docker 版 Kafka 用户配置
  • 给你 Kafka + SSL 完整配置
  • 或按你的 Kafka 版本 精确写配置

你现在是 单机测试 还是 生产环境

0