kafka 3.3.1 去除 zookeeper 后如何配置 SASL_PLANTEXT
时间: 2025-01-02 20:45:56 浏览: 21
在Kafka 3.3.1中,如果你选择去除Zookeeper并启用SASL PLAINTEXT安全协议,你需要进行以下步骤的配置:
1. **停止Zookeeper服务**:因为不再依赖Zookeeper,先确保Zookeeper集群已关闭。
2. **修改`server.properties`文件**:
- 配置Kafka连接地址,移除关于Zookeeper的相关配置,如`zookeeper.connect`。
- 添加SASL相关配置:
```
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.plain.text=PLAIN
sasl.enabled.protocols=PLAIN
```
3. **创建用户和授权**:
- 使用`kafka-configs.sh`命令行工具或者`kafka-acls.sh`为你的SASL PLAINTEXT客户端创建权限。例如,为某个用户分配读写权限:
```
bin/kafka-configs.sh --alter --add-config 'SaslJaasConfig.className="org.apache.kafka.common.security.plain.PlainLoginModule" SaslJaasConfig.config.user_name=myuser,SaslJaasConfig.config.password=mypassword' --entity-type users --entity-name myuser --topic-configs "Read='true',Write='true'"
```
4. **启动Kafka服务器**:现在更新配置后,重启Kafka服务器以应用新的配置。
5. **客户端配置**:
- 客户端也需要配置SASL PLAINTEXT,比如使用Java SDK:
```java
Properties props = new Properties();
props.put("bootstrap.servers", "your_kafka_broker_list");
props.put("sasl.jaas.config", "org.apache.kafka.common.security.plain.PlainLoginModule required username=myuser;password=mypassword;");
```
阅读全文