抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

当 redis 使用3台以上服务器组成一个集群时,会涉及到哨兵模式的配置,如何配置哨兵模式以及如何配置参数我们这里不做阐述,只对相关启动命令和排查哨兵模式状态是否正常做说明。

常用涉及redis哨兵模式的命令

1.查看哨兵模式状态

假设系统集群中的三台服务器为 x.x.60.11、x.x.60.12、x.x.60.13,其中60.12为集群主机

1
./redis-cli -h 当前服务器ip地址 -p 26379 INFO

查看哨兵模式状态的别名是否正确,状态(status)是否okaddress是否指向x.x.60.12,如果都正常则无异常。

2.查看进程中 redis 的服务

1
ps -ef | grep redis

正常情况下会存在两个进程

1
2
3
UID       PID       PPID      C     STIME    TTY       TIME         CMD
zheng 6788 0 0 00:00 pts/0 00:00:00 redis-server
zheng 6789 0 0 00:00 pts/0 00:00:00 redis-sentinel

3.关闭哨兵模式服务

1
kill -9 6788 6789 #上述的进程号

4.启动服务

1
2
./redis-server redis.conf
./redis-sentinel sentinel.conf

排查 redis 哨兵模式异常情况

1.检查哨兵模式状态

ps:ip 地址分别更改为三台服务器的地址

1
./redis-cli -h 当前服务器ip地址 -p 26379 INFO

如果某台服务器statusodown,或者address指向不为x.x.60.12,则说明集群出现问题,需要重启集群。

2.检查哨兵模式配置文件是否正常

1
2
# 查看每台服务器的 sentinel.conf 配置文件
vi sentinel.conf

查看 sentinel monitor redismaster "ip地址" 6379 0,检查 ip 地址是否为主机地址,如果不为该值则说明sentinel 有误,redis 的服务都暂时的情况下再修改配置文件,修改该ip地址为主机地址,然后保存

排查完如上问题,重启服务

启动顺序,** 优先启动主机的服务 **

1
2
# 先启动主机的 redis
./redis-server redis.conf

然后再启动从机的 redis

然后再启动哨兵模式

1
2
# 先启动主机的 sentinel
./redis-sentinel sentinel.conf

然后再启动从机的 sentinel

查询状态

在三台服务器中输入 ps -ef | grep redis,如果存在两个 redis 进程则说明应用启动正常。
然后分别在三台服务器输入 ./redis-cli -h 当前服务器ip地址 -p 26379 INFO,如果别名、状态、指向地址都正确,则说明哨兵模式正常。

然后可以通过应用验证 redis 是否恢复完毕。

评论