1.服务器规划(示例)
服务器: (要求redis主从能使用的内存容量一致,并且均配置maxmemory)
192.168.127.8 redis-7003 主节点 redis-sentinel-7013 redis哨兵1
192.168.127.7 redis-7002 主节点 redis-sentinel-7012 redis哨兵2
192.168.127.6 redis-sentinel-7011 redis哨兵3
说明:当主节点下线后,三个哨兵并投票决定谁是leader,2个以上的哨兵认为主节点下线了(主观下线),leader会去做故障转移的工作
问题:1.当进行了一次主从切换后,只有一个reids节点还在运行,如果需要再次切换主从,需要把原来宕机的redis节点启动起来
2.主从节点切换后,客户端需要切换请求的IP地址,jedis客户端无法实现IP地址的转换,使用原来的jedis客户端就无法正常访问,需要使用 sharded-jedis-sentinel-pool
2.在一台机器上安装redis
3.复制redis安装后的文件夹到其它机器,并重命名为redis-${port}
4.在各台机器上复制一个redis安装文件夹 , 并重命名为redis-sentinel-${port}
5.配置redis主节点
|
6.配置redis从节点
|
7.配置redis哨兵节点(有三个哨兵,配置仅仅是端口不同,这里只配置一个作为示例)
|
8.启动redis主节点
bin/redis-server conf/redis-7003.conf
9.启动redis从节点
bin/redis-server conf/redis-7002.conf
10.启动redis哨兵节点
bin/redis-sentinel conf/redis-7013.conf
bin/redis-sentinel conf/redis-7012.conf
bin/redis-sentinel conf/redis-7011.conf
11.在主节点和从节点观察主从状态(当前主节点有一个从节点 192.128.127.7:7002)
在主节点查看
|
在从节点查看(当前从节点有一个主节点 192.128.127.8:7003)
|
12.将主节点下线,观察自动故障转移的过程
查看sentinel的日志会发现有一句日志,显示主从节点切换的情况
|
在从节点查询info replication,发现原来的从节点变成了主节点,没有从节点
|