Redis集群密码热更新指南

Redis集群密码热更新指南

在生产环境中,Redis 集群作为高性能缓存和数据存储的核心组件,其安全性至关重要。密码认证是阻止未授权访问的重要措施之一。当需要修改 Redis 集群密码时,如果每次都重启节点,不仅工作量大,还可能导致服务不可用。幸而,Redis 支持通过命令动态修改密码,实现热更新,并能将更改持久化,确保重启后依然生效。

本文将全面讲解如何在不重启 Redis 集群节点的情况下,安全、高效地更新集群密码,涵盖客户端认证密码 requirepass 与集群节点间认证密码 masterauth 的同步配置。

连接至集群中的每个节点

Redis 集群由多个节点组成,密码配置需要在所有实例上保持一致。首先,分别连接到集群中的每个节点。推荐使用官方客户端工具 redis-cli,并通过当前密码认证:

1
redis-cli -h <node_host> -p <node_port> -a <current_password>

如果密码为空,可省略 -a 参数。请确保连接到正确的 IP 和端口。

动态修改节点的密码配置

在连接到每个 Redis 节点后,分别执行以下命令,动态修改客户端连接密码和集群内部通讯密码:

1
2
CONFIG SET requirepass NewPassword
CONFIG SET masterauth NewPassword
  • requirepass:客户端连接时认证所需密码。
  • masterauth:从节点连接主节点时的认证密码,保障集群节点安全通信。

确保两者密码一致,避免后续节点间同步失败。

确认密码已经生效

修改完成后,使用以下命令确认密码已正确修改:

1
2
CONFIG GET requirepass
CONFIG GET masterauth

正确返回的新密码表明配置已即时生效。此时,客户端和节点认证均需使用新密码。

持久化密码配置,防止重启丢失

CONFIG SET 命令只会临时修改运行时配置,Redis 重启后容易丢失。使用下面命令将更改写入配置文件 redis.conf

1
CONFIG REWRITE

此命令会自动更新节点的配置文件并替换旧的密码配置。注意:

  • 配置文件所在路径需允许 Redis 进程写入。
  • CONFIG REWRITE 过程会对节点进行短暂锁定,建议在低峰期执行。

集群密码热更新的最佳实践

  • 同步变更:务必对所有集群节点执行相同操作,保持密码一致,避免节点间认证失败导致数据同步异常。
  • 运维窗口:密码更新可能影响客户端连接和节点间通信,建议选取业务低峰窗口操作。
  • 备份配置文件:操作前备份 Redis 配置文件,预防误操作引发无法恢复的故障。
  • 确认 Redis 版本:不同版本的 Redis 支持的命令及参数略有差异,执行前请参考对应版本官方文档。
  • 客户端更新:密码变更后,客户端应用也需要更新配置,避免连接失败。

密码更新后日志和监控检查

更新密码后,请关注 Redis 节点日志,确保无认证失败或同步异常。利用监控系统观察集群健康状态,及时响应可能出现的连接或权限问题。

总结

通过上述步骤,您可以在不中断 Redis 集群服务的情况下,完成密码的热更新,确保集群安全性和高可用性。动态配置命令配合持久化操作,让密码管理更加灵活和安全。

做好全节点同步、备份和监控,是保障 Redis 集群平滑升级密码的关键。掌握此技巧,将显著提升你对 Redis 高可用集群安全管理的掌控能力。


希望本文能帮助你在实际生产环境中安全地变更 Redis 密码,减少停机风险,保障业务稳定。祝你运维顺利!

Redis集群密码热更新指南

https://lbs.wiki/pages/c9b3bba3/

作者

李博帅

发布于

2024-05-07

更新于

2025-06-05

许可协议