前言
我们在做项目的时候肯定是会需要建 redis 集群的,一般是 一主二从 的配置形式,我现在用的就是这个模式,就是说有一个是主机 master 另外两个是从机 slave , 主机一般负责写入数据,而从机只能负责读取数据不能写数据。但是考虑这种情况,突然主机宕机了,那么其他的两个从机就没有老大了,我们又知道从机不能写数据那这不是gg,这怎么办?我们这个时候就引入了哨兵模式,说白了哨兵模式的用处就是 他可以监视我们的主机和从机,在主机不能工作的了宕机之后,哨兵会检测他的线程是否是活跃的来判断主机有没有宕机,之后通过投票算法去重新在这些从机当中选取一个人来当老大主机 ,这样的话就不会“群龙无首”了,redis也可以继续工作! 那么有人肯定会想那要是这个主机又回来了,那是不是还是这个端口做主机呢????那肯定是不是这样的,哨兵会监视到宕机的主机恢复了,那么他会将这个宕机的主机作为新选取的主机的从机!看下图!!!
第一步
那么我们怎么配置这个哨兵模式呢?在这个之前我们先要搭建好Redis集群。 我们都知道在linux端启动redis是通过配置文件redis.conf 文件启动的,执行命令 redis-server redis.conf 那么我们以一主二从的形式搭建redis集群,我们就先来复制三份 redis.conf 然后更改一下他的配置内容。复制好之后我们通过 vim redis.conf 进入配置文件中,我们要修改4个地方。
1、更改端口号 2、更改pid文件名 3、更改logfile路径 4、更改rdb文件的名称 5、启动服务然后配置主机从机
因为主机只要开启的话就是默认为主机,所以我们只要配置从机,把两个小弟配置到大哥上就ok!!!
SLAVEOF 127.0.0.1 6379 # SLAVEOF host port
经过这些配置之后我们的redis集群就已经配置好了!!!!
第二步
配置好redis集群之后我们就要开始配置一个哨兵的配置文件 sentinel.conf 然后在写一些配置文件
vim sentinel.conf
然后再配置文件内写入
sentinel monitor myredis 127.0.0.1 6381 1 # 1表示主机宕机之后slave进行的投票选取谁来称为新的主机
保存退出
第三步
我们最后就是启动 哨兵 进入到/bin 目录输入
redis-sentinel sentinel.conf
结果
我们将主机进行宕机处理以及后期重启恢复,看看哨兵模式能不能进行监视!如下图: 搞定收工~~~
|