安装redis参考:https://blog.csdn.net/Alinlx/article/details/107066395
redis主从搭建:https://blog.csdn.net/Alinlx/article/details/107187688
在搭建好redis主从复制的基础上,搭建redis-sentinel系统:
redis-sentinel说明:
192.168.158.130:6800
192.168.158.131:6800
192.168.158.132:6800
1、首先复制配置文件并修改:
cp redis-6.0.5/sentinel.conf redis6/bin
sentinel.conf在redis解压包里面,其他两个slave也是这样复制。
2、修改master的sentinel配置文件 sentinel.conf ,配置如下:
port 26379
daemonize yes
sentinel monitor mymaster 192.168.158.130 8000 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1
sentinel auth-pass mymaster 123456
logfile /usr/local/redis/log/redis/redis-sentinel.log
其他两个slave一样的配置。至此redis sentinel 系统搭建完成
3、启动sentinel
然后分别在三台机器上执行以下命令启动 sentinel
$ ./redis-sentinel sentinel.conf
4、测试redis 主从切换
4.1、分别查看3台服务器的信息
4.2、在master服务器上作下线操作
4.3、过了一会查看3台服务器的信息
如图所示主从切换成功。
当原来的master重新上线后自动加入到群组,并且变新master的slave,新master的connected-slaves=2。
5、问题
5.1、原来的master重新上线后,role是变为了slave但是新master的connected-slaves=1。
解决方法:
当一个master配置为需要密码才能连接时,客户端和slave在连接时都需要提供密码。
master通过requirepass设置自身的密码,不提供密码无法连接到这个master。
slave通过masterauth来设置访问master时的密码。
当使用了sentinel时,由于一个master可能会变成一个slave,一个slave也可能会变成master,需要在master 和slave的配置文件中都要设置这两个配置项,才能多次切换,否则就有可能只能切换一次。
5、总结
主从模式,当主节点宕机之后,从节点是可以作为主节点顶上来,继续提供服务的。
在复制的基础上,哨兵实现了自动化的故障恢复。
优点:
哨兵模式是基于主从模式的,所有主从的优点,哨兵模式都具有。
主从可以自动切换,系统更健壮,可用性更高。
Sentinel 会不断的检查 主服务器 和 从服务器 是否正常运行。当被监控的某个 Redis 服务器出现问题,Sentinel 通过API脚本向管理员或者其他的应用程序发送通知。
缺点:
Redis较难支持在线扩容,对于集群,容量达到上限时在线扩容会变得很复杂。
安利一门超级好课!
扫码下单输优惠码【csdnfxzs】再减5元,比官网还便宜!