求Kafka Kraft独立控制器模式下SASL_SSL/SSL可用配置方案
Kafka Kraft独立控制器节点SSL配置加载失败排查与解决
问题背景
生产环境部署Kafka Kraft集群,遵循官方文档要求将控制器与Broker节点分离部署。原SSL配置在broker,controller混合模式下可正常工作,但切换到纯控制器模式后,SSL完全无法加载,使用openssl s_client -connect <controller-host>:<controller-port>检测发现监听进程未返回证书。
排查步骤
- 检查控制器专属SSL配置完整性
控制器模式下不能直接复用Broker的SSL参数,必须配置带controller.前缀的专属SSL项,同时要确保协议映射正确:- 确认
controller.listener.security.protocol.map已将控制器监听端口的协议设置为SSL,而非默认的PLAINTEXT - 核对
controller.ssl.keystore.location、controller.ssl.keystore.password等核心SSL参数是否配置正确,很多场景下会遗漏这些控制器专属配置,导致SSL加载失败
- 确认
- 验证证书文件权限与有效性
- 检查控制器节点上密钥库、信任库文件的路径是否正确,且Kafka进程运行用户拥有读取权限(可通过
ls -l /path/to/cert-files查看权限,su - kafka -c "cat /path/to/kafka.keystore.jks"验证读取权限) - 用
keytool检查证书是否过期:keytool -list -v -keystore /path/to/kafka.keystore.jks
- 检查控制器节点上密钥库、信任库文件的路径是否正确,且Kafka进程运行用户拥有读取权限(可通过
- 分析控制器日志
查看控制器节点的logs/controller.log,搜索SSL、keystore、certificate相关关键词,比如Failed to load SSL keystore、Invalid keystore password这类错误日志,可直接定位问题根源 - 确认监听端口协议配置
检查controller.listeners是否指定了正确的监听地址,同时controller.listener.security.protocol.map要对应绑定SSL协议,比如CONTROLLER://0.0.0.0:9093对应CONTROLLER:SSL,缺失映射会导致控制器以明文模式启动
解决方案
1. 完善控制器SSL配置
在控制器节点的server.properties中添加或修正以下配置:
# 控制器监听地址 controller.listeners=CONTROLLER://<controller-ip>:9093 # 监听协议映射 controller.listener.security.protocol.map=CONTROLLER:SSL # SSL密钥库配置 controller.ssl.keystore.location=/path/to/kafka.keystore.jks controller.ssl.keystore.password=your-keystore-password controller.ssl.key.password=your-key-password # SSL信任库配置 controller.ssl.truststore.location=/path/to/kafka.truststore.jks controller.ssl.truststore.password=your-truststore-password # 可选:开启客户端SSL认证 controller.ssl.client.auth=required
2. 验证配置与证书有效性
- 用
keytool确认密钥库和信任库正常:keytool -list -v -keystore /path/to/kafka.keystore.jks keytool -list -v -keystore /path/to/kafka.truststore.jks - 重启控制器进程后,重新执行
openssl检测:
配置正确时,会返回完整的证书信息及SSL握手成功提示openssl s_client -connect <controller-ip>:9093 -tls1_2
3. 修复文件权限问题
若Kafka进程无证书文件读取权限,执行以下命令修正:
chown kafka:kafka /path/to/*.jks chmod 600 /path/to/*.jks
内容的提问来源于stack exchange,提问作者Aditya
相关产品推荐
相关产品推荐

