准备三台虚拟机CentOS 7环境, 然后再下载 redis-5.0.8 安装包, 我是放在 /opt 目录
wget https://github.com/redis/redis/archive/5.0.8.tar.gz
解压
tar -xzvf redis-5.0.8.tar.gz
每台虚拟机的redis安装过程可以参考我之前的文章
1. 三台虚拟机
192.168.171.210(master) | 端口6379 |
---|---|
192.168.171.211(slave) | 端口6379 |
192.168.171.212(slave) | 端口6379 |
192.168.171.210 (sentinel) | 端口26379 |
---|---|
192.168.171.211 (sentinel) | 端口26379 |
192.168.171.212 (sentinel) | 端口26379 |
2. 编辑redis的配置文件
# bind 127.0.0.1 // 注释掉这行
protected-mode no // 关闭保护模式
requirepass 10010 // 设置redis密码, 如果设置密码, 三个redis实例必须设置一样的密码
3. 编辑sentinel.conf配置文件
daemonize yes // 开启守护进程
sentinel monitor mymaster 192.168.171.212 6379 2
sentinel auth-pass mymaster 10010
4. 按照顺序启动
启动 master redis实例 --> 启动 replicaof redis实例 --> 启动三个 sentinel 实例
systemctl start redisd
./src/redis-sentinel sentinel.conf
5. 测试故障转移
./src/redis-cli -a 10010 -p 6379 DEBUG sleep 40
在 master 上执行上面这个命令, 40秒后, 观察master有没有换成别的实例