1. Redis Sentinel功能
Redis Sentinel是一套用于管理Redis实例的分布式系统,主要完成3项任务:
1) Monitoring:持续监控Redis master或slave实例的运行情况是否符合预期
2) Notification:若被监控的Redis实例运行异常,sentinel会通过API通知外界(人或程序)
3) Automation failover:若master实例故障,sentinel会重新选主并启动自动故障切换:选择slave-priority最小的那个slave实例并将其提升为master,同时修改其它slave的配置,使其master配置项指向新的master,当old master恢复重启后,会自动降级为new master的slave。最后,根据配置,Redis Sentinel还会将新的master地址通知给当前正在访问Redis的应用程序。
2、部署情况
10.150.21.65 master
10.150.21.69 slave
10.150.21.66 Sentinel server
3、master,slave,Sentinel server 都要安装redis;
4、在slave主机上执行
redis-cli slaveof 10.150.21.65 6379 ;/etc/init.d/redis stop;/etc/init.d/redis start
5、配置Sentinel server
vim sentinel.conf
#####################sentinel.conf #############
port 26379
dir "/tmp"
sentinel monitor test1 10.150.21.65 6379 1
sentinel config-epoch test1 2
sentinel leader-epoch test1 2
sentinel known-slave test1 10.150.21.69 6379
sentinel current-epoch 2
#####################sentinel.conf #############
6、启动Sentinel server
redis-server sentinel.conf --sentinel &
7、Sentinel 常用命令
查询master状态
redis-cli -h 10.150.21.66 -p 26379 info Sentinel
以获取到主IP地址
redis-cli -h 127.0.0.7 -p 26379 info sentinel| awk -F ‘,‘ ‘/status/ {print $3}‘| awk -F ‘=‘ ‘{print $2}‘
查询slave状态
redis-cli -h 127.0.0.1 -p 26379 sentinel slaves test1
也可以查看实时信息
watch redis-cli -h 127.0.0.1 -p 26379 sentinel slaves test1
本文出自 “有志者,事竟成” 博客,请务必保留此出处http://wuxinglai.blog.51cto.com/9136815/1672036
原文地址:http://wuxinglai.blog.51cto.com/9136815/1672036