【图片看不到,完整文档见附件】
1. 环境搭建
1.1. 主机配置
虚拟机四台
系统centos 6.5
IP分配:
主节点:192.168.100.131
从节点:192.168.100.132,192.168.100.13,192.168.100.13
1.2. 配置主从节点
1.2.1. 主节点配置
同单节点配置即可:
1.2.2. 从节点配置
在主节点的配置文件上增加一行:
slave 192.168.100.131 6379
1.3. 启动主从节点
依次启动主节点和从节点。
1.4. 配置哨兵
哨兵配置文件如下:
1.5. 启动哨兵
redis-sentinel/opt/redis-2.8.9/conf/sentinel.conf –sentinel
启动后控制台如下图:
mater为192.168.100.131 6379
slave有三个:
192.168.100.132 6379
192.168.100.133 6379
192.168.100.134 6379
2. 故障实验
2.1. 断开、恢复主节点
l 断开主节点
redis-cli -h 192.168.100.131 -p 6379shutdown
断开后sentinel控制台输入如下:
主节点切换到了192.168.100.134 6379
l 查看切换后的主节点信息
l 重启131主节点
redis-server/opt/redis-2.8.9/conf/6379.conf
重启后192.168.100.131 6379成为了192.168.100.134的slave节点。
查看主节点信息如下:
2.2. 断开单个从节点
redis-cli -h 192.168.100.132 -p 6379shutdown
sentinel控制台:
对redis主节点无影响。
查看主节点信息:
重启子节点:
redis-server/opt/redis-2.8.9/conf/6379.conf
sentinel控制台:
查看主节点信息:
2.3. 断开多个从节点
断开三个slave节点:
Sentinel控制台输出:
查看主节点信息:
2.4. 断开所有slave节点和master节点
Sentinel控制台:
重启主节点:
在192.168.100.131执行:
redis-server /opt/redis-2.8.9/conf/6379.conf
sentinel控制台:
查看启动的节点信息:
重新启动节点为slave节点
启动192.168.100.134
在192.168.100.134执行:
redis-server /opt/redis-2.8.9/conf/6379.conf
sentinel控制台:
查看节点信息:
主节点为192.168.100.134 6379
关闭主节点192.168.100.134 6379
sentinel控制台输出:
主节点切换到192.168.100.131
查看主节点信息:
2.5. 故障实验结论
l 当有多个节点(包括master和slave)可用时,断开其中一个,redis会自动切换主节点。
l 当断开所有节点后,再重启某一结点,redis设置还是断开所有节点之前的主节点,master不会自动切换到新启动的节点。