Redis 主从+哨兵配置

关于主从有因为没有环境,所以无法进行配置,也就不自己写了。参考一下这么兄弟写的文章,为了防丢,复制了进来。

原文传送门:redis主从配置一 ,redis主从配置二

 

主从配置一

 

一、本文目的

         Redis的主从配置分为两篇文章,第一篇主要介绍了Redis主从配置的搭建过程及使用,第二篇主要说明各种情况下Redis主从状态,如Master挂掉,Slaver挂掉,挂掉后重新加入等。

 

二、常用命令

  1. 根据配置文件启动redis:   src/redis-server  redis.confg
  2. 启动redis客户端:redis-cli -p port
  3. Slaver连接Master:slaveof host:ip          (测试时使用slaveof手动连接master,正式环境使用配置文件)
  4. 关闭Redis:shutdown
  5. 查看主从信息:info Replication

 

三、Redis的配置

    1、按照1主2从的结构搭建,即1个Master,2个Slaver节点

    2、Redis配置文件redis.conf的配置

 daemonize
(后台运行)
pidfileportlogfile(日志,src目录)# slaveof <masterip> <masterport>
  (测试时使用slaveof手动连接master,正式环境使用配置文件)
Masteryes/var/run/redis6379.pid6379"redis6379.log" 
Slaver1yes/var/run/redis6381.pid6381"redis6381.log"slaveof 127.0.0.1 6379
Slaver2yes/var/run/redis6382.pid6382"redis6382.log"slaveof 127.0.0.1 6379

    3、配置完成后3个节点都是Master

    4、配置主从节点(通过info replication查看主从关系)

  5、Master节点设置key后异步同步到Slaver节点;Slaver节点只能读取数据,不能修改

 6、主节点挂掉后,手动将S1子节点升级为Master(命令:slaveof no one 手动将Slaver节点升级为Master节点)

   操作步骤如下:

    a) Master节点:Shutdown关闭节点

    b) Slaver1节点:slaveof no one将其升级为Master节点

    c) Slaver2节点:使用slaveof 127.0.0.1 6381 重连Slaver2将其视为Master节点

    d) 原来的Master节点:重新启动后,可以使用slaveof 127.0.0.1 6381 连接Slaver2将其视为Master节点,自己成为Slaver节点

 7、使用哨兵模式,自动监视Master节点,当前挂掉后,自动将Slaver节点变为Master节点

       a) sentinel.conf配置文件,修改sentinel monitor host6379 127.0.0.1 6379 1,其它使用默认即可
           host6379 主机名称,随便起    主机IP 端口 1表示选举,某个slaver得到超过1票则成成为Master节点

       b) 启动sentinel: ./redis-sentinel ../sentinel.conf

   8、手动shutdown Master节点后,等待一段时间(大概一分钟),sentinel会重新选举Master节点。下面将6381选举为Master节点,6382自动重连6381的Master节点

     6379 原来的Master节点重启后变成Slaver节点

 

 

四、总结

  1. Master可读可写,Slaver只能读,不能写
  2. Master可以对应多个Slaver,但是数量越多压力越大,延迟就可能越严重
  3. Master写入后立即返回,几乎同时将写入异步同步到各个Slaver,所以基本上延迟可以忽略
  4. 可以通过slaveof no one命令将Slaver升级为Master(当Master挂掉时,手动将某个Slaver变为Master)
  5. 可以通过sentinel哨兵模式监控Master,当Master挂掉时自动选举Slaver变为Master,其它Slaver自动重连新的Master

 

主从配置二

 

 

一、本文目的

       主要介绍redis主从模式下各种情况

 

 

二、说明

  1. 主从的基本概念:Master用于写入,Slaver用于读取,不能写入或修改,一个Master可以对应多个Slaver
  2. Master写入数据后是通过异步复制的方式同步到Slaver,但是基本上不会有延迟

 

 

三、Master或Slaver挂掉的情况说明

  1. Slaver挂掉:不影响这个结构,只是该Slaver不能读,但是客户端读写不受影响,重启后即可加入
  2. Master挂掉:手动操作,在某个Slaver上执行命令Slaverof no one
     Master挂掉某个Slaver成为Master其它Slaver通过
    Slaverof关联新的Master
    原Master重启原Master关联新的Master
    Master挂掉状态不变 状态为Master成为新Master的Slaver
    其它Slaver状态不变状态不变成为新Master的Slaver新Master的Slaver新Master的Slaver
  3. Master挂掉:sentinel哨兵,通过监控Master节点,当其挂掉后,选举其它Slaver成为新的Master
    1、选举出某个Slaver成为新的Master
    2、其它Slaver自动成为新Master的Slaver
    3、原Master重新后自动成为新Master的Slaver
  4. 添加新的Slaver:使用slaveof host port  到Master节点即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值