1 先在主从机上安装好redis
2 主redis配置
无需特殊配置。
3 从redis配置
修改从redis服务器上的redis.conf文件,添加slaveof 主redisip 主redis端口
上边的配置说明当前该从redis服务器所对应的主redis是192.168.101.3,端口是6379
注意事项:
从机是不可以写数据的,当你尝试写的时候会报错,因为配置文件里默认参数设置是只读(slave-read-only yes),所以主从复制也同样实现读写分离,读数据走从机,写数据走主机。
eg: 当往从机上写数据时,报错:
127.0.0.1:6379> set name3 马陆
(error) READONLY You can't write against a read only slave.
127.0.0.1:6379> get name3
(nil)
如果修改主、从机 redis.conf 配置文件, slave-read-only 值 设为 no, 则虽然从机 可写,但从机写入的数据无法 同步到主机。除非开启哨兵模式,主机故障,该从机提升为主机。
哨兵模式
前面我们详细的讲解了Redis的主从集群模式,其实这个集群模式配置很简单,只需要在Slave的节点上进行配置,Master主节点的配置不需要做任何更改,但是有一点,Master和Slave两个节点的持久化配置尽量保持一致,否则会有奇怪的问题出现。从今天开始我们开始讲Redis集群模式的第二模式,也就是“哨兵”模式。
Redis-sentinel的哨兵灾备切换配置
两台机器安装redis
例如
192.168.0.242
192.168.0.243
修改该sentinel配置文件
vi /usr/local/redis/redis-3.2.10/sentinel.conf
protected-mode no
daemonize yes (在sentinel.conf 文件中默认没有该项,需手动添加,以开启redis的sentinel(士兵守护)进程的后台启动模式
sentinel monitor mymaster 192.168.0.242 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel parallel-syncs mymaster 1
mymaster 后面跟master的ip 和端口 最后一个1 代表只要有一个sentienl认为master下线就认为该master 客观下线 启动failover 并选举新的master 通常最后一个参数不能多于启动的sentinel实例数
down-after-milliseconds 服务器不可靠的判断依据
parallel-syncs 在故障转移成功后,马上将切到新的master的slave数量
启动sentinel 服务
[root@solr1 src]# ./redis-sentinel /usr/local/redis/redis-3.2.10/sentinel.conf
或
[root@solr2 bin]# ./redis-sentinel /usr/local/redis/redis-3.2.10/sentinel.conf
哨兵模式的优缺点
优点:
1、哨兵集群模式是基于主从模式的,所有主从的优点,哨兵模式同样具有。
2、主从可以切换,故障可以转移,系统可用性更好。
3、哨兵模式是主从模式的升级,系统更健壮,可用性更高。
缺点:
1、Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费