搭建好redis单机后,开始研究redis集群配置

两台VM虚拟机,都安装了redis程序,一台作为master 一台作为slave

首先配置redis主从配置

配置在redis.conf文件中

主机上需要设置masterauth(光主从同步不需要配置这个,但是后续配置哨兵机制的时候需要配置这个属性)

从机上需要配置slaveof 主机IP 主机端口,同样也许配置masterauth,密码和主机一样

启动主机,启动从机

在主机上set key value后

在从机上get key 

能正常得到主机设置的值


但是要实现主从容错自动切换,就需要配置redis哨兵,

redis-sentinel 是一个守护进程,作用有,监控,管理主从机,通知,主从切换功能

首先设置主机sentinel.conf

sentinel monitor mymaster 127.0.0.1 6379 1   

这句话的意思是监控集群名为mymaster的主机IP,端口,最后一个数字表示,当有几台哨兵监控到主机出错后执行主从切换

sentinel auth-pass mymaster  密码

这个密码需要和redis.conf中的masterauth一致

sentinel down-after-milliseconds mymaster 15000  

这个配置设置的是当哨兵每秒对mymaster主机执行Ping操作时,超过15000毫秒后认为主机宕机

sentinel failover-timeout mymaster 900000 

和当主从切换多久后认为主从切换失败


sentinel leader-epoch mymaster 1

sentinel config-epoch mymaster  1

这两个配置后面的数量主从机需要一样


请注意,当主机启动过redis-sentinel 后,哨兵会根据各丛机配置自动查找丛机,会在主机的sentinel.conf文件中自动生成丛机IP,所以不需要将所有丛机IP 列出来

当启动过redis-sentinel时,会在主机sentinel.conf和从机sentinel.conf中生成myid,建议重启redis-sentinel时将两个sentinel.conf中生成的myid删除,不然主从切换时,会根据myid去找对应的从机,当新生成的myid和原来的myid不一致,将无法切换



设置从机sentinel.conf

和主机的sentinel.conf保持一致,


先启动主机redis-server ,在启动从机redis-server,再启动主机redis-sentinel 再启动从机redis-sentinel


将主机master的进程杀掉,可以看到下图的日志,右边为主机,左边为从机




Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐