设为首页 收藏本站
查看: 1032|回复: 0

[经验分享] redis主从复制故障转移

[复制链接]

尚未签到

发表于 2018-11-4 08:06:50 | 显示全部楼层 |阅读模式
Redis主从复制与故障切换
  目录
  目录1
  一.概述1
  二. 实验目的2
  三.试验环境2
  四. 说明2
  五. 拓扑2
  六. 实施步骤2
  6.1、分别安装redis2.8.32
  6.2、配置主从同步3
  6.3、配置主从故障切换4
  七. 注意事项4
  一.概述
  Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
  Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制。
  Redis 2.8版开始正式提供名为Sentinel的主从切换方案,Sentinel用于管理多个Redis服务器实例,主要负责三个方面的任务:
  1. 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
  2. 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
  3. 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。
  二. 实验目的
  实验用于了解redis主从复制,故障自动切换功能。
  三.试验环境
  设备名称
  操作系统
  安装软件
  虚拟机(3台)
  Centos6.8 X64
  Redis2.8.3
  四. 说明
  本实验演示redis主从数据同步,主服务宕机,从服务器被选择为新的主服务器,并自动配置其他从服务器的主服务器为本机。
  五. 拓扑
  192.168.1.240  主redis  sentinel
  192.168.1.241  从redis
  192.168.1.242  从redis
  六. 实施步骤
  6.1、分别安装redis2.8.3
  三台机器分别安装
  1、安装
  $ yum install gcc -y
  $ cd /home/jryknet
  $ wget http://download.redis.io/releases/redis-2.8.3.tar.gz
  $ tar xzf redis-2.8.3.tar.gz
  $ cd redis-2.8.3
  $ make
  $ make install
  2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。
  mkdir /usr/redis
  cp redis-server  /usr/redis
  cp redis-benchmark /usr/redis
  cp redis-cli  /usr/redis
  cp /home/redis-2.8.3/redis.conf  /usr/redis
  cd /usr/redis
  3、启动Redis服务。
  $ redis-server   redis.conf
  4、然后用客户端测试一下是否启动成功。
  $ redis-cli
  redis> set age 13
  OK
  redis> get age
  "13"
  5、配置为后台启动
  vi /usr/redis/redis.conf
  daemonize yes
  #日志目录
  logfile "/tmp/redis.log”
  6、配置服务脚本启动(略)
  启动方式
  /etc/init.d/redis
  Usage: /etc/init.d/redis {start|stop|restart|force-reload}
  6.2、配置主从同步
  配置文件使用/usr/redis目录下的redis.conf
  1、配置从服务器
  主服务器192.168.1.240不需配置
  从服务器 192.168.1.241,192.168.1.242修改配置文件,添加
  slaveof 192.168.1.240 6379
  2、测试主从效果
DSC0000.png

DSC0001.png

  6.3、配置主从故障切换
  1、主服务器192.168.1.240配置
  cp /home/jryknet/redis-2.8.3/sentinel.conf /usr/redis/ #配置文件
  cp /home/jryknet/redis-2.8.3/src/redis-sentinel /usr/redis/  #程序脚本文件
  2、配置/usr/redis/sentinel.conf ,启动sentinel 执行命令redis-sentinel
  port 26379
  daemonize no
  logfile "/var/redis/log/sentinel.log"
  sentinel monitor mymaster 192.168.1.240 6379 1
  sentinel down-after-milliseconds mymaster 60000
  sentinel failover-timeout mymaster 180000
  sentinel parallel-syncs mymaster 1
  3,、查看状态
  redis-cli info |grep role
  role:master
  redis-cli info |grep role
  role:slave
  4、测试
  停止主redis,切换为192.168.1.242为新的master
DSC0002.png

  当旧的master启动,讲转换为从服务器
DSC0003.png

  原来的master配置文件redis.conf 自动添加slaveof 192.168.1.242 6379,变为从服务器
  原来的master配置文件sentinel.conf 自动修改为sentinel monitor mymaster 192.168.1.242 6379 1
  七. 注意事项
  1、第一次启动必须先启动master
  2、slave的优先级是一个整数展示在Redis的Info输出中。如果master不再正常工作了,哨兵将用它来选择一个slave提升=升为master。优先级数字小的salve会优先考虑提升为master,所以例如有三个slave优先级分别为10,100,25哨兵将挑选优先级最小数字为10的slave。0作为一个特殊的优先级,标识这个slave不能作为master,所以一个优先级为0的slave永远不会被
  # 哨兵挑选提升为master
  默认:slave-priority 100


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-630437-1-1.html 上篇帖子: redis-10986051 下篇帖子: redis 分布式锁
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表