Redis CLI认证失败问题:Windows服务器移除哨兵遇NOAUTH错误
解决Redis哨兵CLI认证失败(NOAUTH)及移除节点问题
一、先搞清楚:你可能改错了配置文件
Redis哨兵有自己独立的配置文件(一般叫sentinel.conf,Windows下可能命名为windows.sentinel.conf),不是你修改的windows.redis.conf。哪怕Redis主节点的requirepass注释了,哨兵自身的认证配置或者同步的主节点认证规则依然会要求你输入密码。
二、快速搞定CLI认证
找到哨兵的
sentinel.conf,搜索sentinel auth-pass配置项:- 如果该配置设置了密码,直接在CLI中用这个密码认证:
redis-cli -p 26379 # 替换成你的哨兵实际端口 AUTH 你的sentinel auth-pass密码 - 如果该配置是注释状态,先查询哨兵当前实际生效的密码:
用返回的密码执行redis-cli -p 26379 CONFIG GET requirepass redis-cli -p 26379 CONFIG GET sentinel.auth-passAUTH命令即可。
- 如果该配置设置了密码,直接在CLI中用这个密码认证:
若上述命令返回空但仍提示NOAUTH,大概率是哨兵连接的主Redis节点设置了密码,哨兵同步了这个认证要求——直接用主节点的
requirepass密码去认证即可。
三、移除哨兵节点的操作步骤
认证通过后,在要保留的4个哨兵节点中任选一个正常运行的节点执行以下操作:
先查看当前所有哨兵节点列表:
SENTINEL sentinels 你的主节点名称记录下要移除的5个节点的runid或者
IP:端口信息。逐个移除目标哨兵:
# 优先用runid移除 SENTINEL REMOVE 你的主节点名称 要移除的哨兵runid # 若runid获取不到,用IP:端口方式 SENTINEL REMOVE 你的主节点名称 哨兵IP:哨兵端口验证移除结果:再次执行
SENTINEL sentinels 你的主节点名称,确认目标哨兵已不在列表中。
四、收尾清理工作
- 登录要移除的5台Windows服务器,停止并删除哨兵服务:
# 替换为你的哨兵服务实际名称 sc stop RedisSentinel sc delete RedisSentinel - 删除哨兵的配置文件和数据文件,避免后续误启动重新加入集群。
内容的提问来源于stack exchange,提问作者A1exB1ngh0m
相关产品推荐
相关产品推荐

