已配置TLS密钥材料的Cassandra能否动态重载密钥无需重启节点
Cassandra密钥库/信任库动态重载问题解答
目前Apache Cassandra官方正式发行版不支持动态重载keystore与truststore密钥材料,更新证书后必须重启节点才能生效。
- 底层逻辑:Cassandra进程启动时会一次性读取配置文件中指定路径的keystore、truststore内容加载到内存,运行期间不会主动扫描文件变更,也没有内置的管理接口可以触发密钥的重新加载动作。
- 非官方无重启实现方案:
- 仅Cassandra 4.0及以上版本可通过第三方自定义热重载插件实现,该能力默认不集成在官方发行版中,需要自行根据集群版本开发适配插件,配置文件扫描周期、重载校验逻辑,生产环境使用前需要做充分的兼容性测试。
- 生产环境推荐操作方式:
- 优先采用滚动重启方案,操作风险更低、兼容性更好,只要严格按照单节点重启、校验状态正常再操作下一个节点的流程执行,全程不会影响集群的服务可用性。
- 滚动重启操作要点:
- 替换节点上的keystore/truststore文件后,先确认文件权限和所属用户与原有文件一致,保证Cassandra进程拥有读取权限
- 重启前执行
nodetool drain排空节点的未持久化写请求,减少节点重启后的数据同步量 - 节点启动完成后执行
nodetool status确认节点状态转为UN(正常上线),且nodetool gossipinfo输出无异常后,再操作下一个节点
内容的提问来源于stack exchange,提问作者liotur
相关产品推荐
相关产品推荐

