You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何为Redis集群设置密码?3主3从集群配置后无验证提示问题

如何正确为3主3从Redis集群设置密码?

嗨,我来帮你搞定这个问题!你只修改requirepass后登录没密码提示,是因为Redis集群的密码配置需要兼顾客户端登录认证节点间通信认证两个场景,光设置一个参数是不够的,具体步骤如下:

1. 给所有6个节点配置两个关键参数

打开每个节点的/etc/redis/redis.conf配置文件,同时添加/修改以下两个参数,并且确保所有节点的密码完全一致:

# 客户端登录Redis时需要输入的密码
requirepass your_strong_password_here
# 集群节点之间互相通信时使用的认证密码,必须和requirepass保持一致
masterauth your_strong_password_here

划重点:3个主节点+3个从节点,一共6个实例,每个都要改!漏了任何一个节点,都会导致集群通信异常或者密码验证失效。

2. 重启所有Redis节点

配置修改完成后,逐个重启每个Redis节点让配置生效。如果你的Redis是用systemd管理的,可以用这个命令:

systemctl restart redis

如果是直接启动的,就用指定配置文件的方式重启:

redis-server /etc/redis/redis.conf

3. 验证密码是否生效

  • 先尝试直接登录任意节点:
    redis-cli -h 你的节点IP -p 你的节点端口
    
    此时执行KEYS *这类命令,会收到NOAUTH Authentication required.的提示,说明密码验证已经生效。
  • 输入密码认证后就能正常操作了:
    AUTH your_strong_password_here
    
  • 再检查集群状态是否正常:认证成功后执行CLUSTER INFO,如果返回的cluster_stateok,说明节点间的认证也没问题。

额外小提示

  • 后续登录集群可以直接在命令行带密码,省得每次手动输入:
    redis-cli -h 节点IP -p 端口 -a your_strong_password_here
    
  • 如果是已经运行中的集群,修改密码后不需要重新创建集群,只要每个节点配置好重启就行,不会影响集群数据。

内容的提问来源于stack exchange,提问作者24SegFault

火山引擎 最新活动