实验环境

server1(172.25.254.10)

redis主服务器

server2(172.25.254.20)

redis从服务器1

server3(172.25.254.30)

redis从服务器2

真机(172.25.254.2)

下载资源和共享yum源

安装Redis及主从复制的实现

(1)server1主服务器端

从真机下载一个包并解压

redis s 主备切换 redis主备切换命令_redis s 主备切换


编译安装

redis s 主备切换 redis主备切换命令_redis s 主备切换_02


redis s 主备切换 redis主备切换命令_服务器_03

进入utils/下面,开启redis

redis s 主备切换 redis主备切换命令_redis_04


查看端口状态

redis s 主备切换 redis主备切换命令_redis_05


修改redis的配置文件

redis s 主备切换 redis主备切换命令_redis_06

redis s 主备切换 redis主备切换命令_配置文件_07


再次查看端口状态

redis s 主备切换 redis主备切换命令_配置文件_08


使用redis-cli (redis命令行工具)进行测试

redis s 主备切换 redis主备切换命令_redis_09


(2)在server2(从服务器)上面进行编译安装redis,进行基本的配置从server1上将安装好的目录拷过来

redis s 主备切换 redis主备切换命令_redis_10


安装

redis s 主备切换 redis主备切换命令_配置文件_11


开启

redis s 主备切换 redis主备切换命令_redis_12


查看端口

redis s 主备切换 redis主备切换命令_redis_13


修改配置文件

redis s 主备切换 redis主备切换命令_redis_14


redis s 主备切换 redis主备切换命令_redis s 主备切换_15


redis s 主备切换 redis主备切换命令_配置文件_16


再次查看端口

redis s 主备切换 redis主备切换命令_配置文件_17


测试

redis s 主备切换 redis主备切换命令_配置文件_18

哨兵模式的实现

(1)配置server3上的redis,并且设置为salve节点(和server2操作一样)

从server1上下载安装后的目录

redis s 主备切换 redis主备切换命令_配置文件_19


安装

redis s 主备切换 redis主备切换命令_配置文件_20


开启服务

redis s 主备切换 redis主备切换命令_服务器_21


修改配置文件

redis s 主备切换 redis主备切换命令_redis s 主备切换_22


redis s 主备切换 redis主备切换命令_redis s 主备切换_23


redis s 主备切换 redis主备切换命令_服务器_24


查看

redis s 主备切换 redis主备切换命令_服务器_25


测试

redis s 主备切换 redis主备切换命令_配置文件_26


以上实现了一主(server1)二从(server2、server3)的主从复制!!!

当server1下线后,选举新的master,即哨兵模式的实现(2)在server1(master)节点上面进行配置

编辑哨兵模式的配置文件sentinel.conf

redis s 主备切换 redis主备切换命令_redis_27


redis s 主备切换 redis主备切换命令_配置文件_28


redis s 主备切换 redis主备切换命令_redis s 主备切换_29


redis s 主备切换 redis主备切换命令_redis_30


(3)在server1上将配置好之后的sentinel.conf文件给两个slave节点各传送一份

注意要在开启sentinel进程之前发送文件,否则文件内容会发生变化

redis s 主备切换 redis主备切换命令_配置文件_31


(4)在server1,server2,server3上开启哨兵

redis s 主备切换 redis主备切换命令_redis_32


redis s 主备切换 redis主备切换命令_配置文件_33


redis s 主备切换 redis主备切换命令_配置文件_34


(5)接下来模拟哨兵模式用真机重新连接一台server1

使用命令查看此时的master节点和slave节点的信息

redis s 主备切换 redis主备切换命令_redis s 主备切换_35


redis s 主备切换 redis主备切换命令_redis s 主备切换_36


down掉server1的redis服务

可以看到master由server1切换为server3

redis s 主备切换 redis主备切换命令_服务器_37


在server3上查看到master为server3

redis s 主备切换 redis主备切换命令_redis_38


以上就实现了哨兵模式!!