redis主从复制自动切换
2017-04-27 12:21
477 查看
redis主从复制特点
1一个master可以拥有多个slave
2多个slave链接同一个master,也可以链接其它slave
3主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
4提供系统的伸缩性
主从复制过程:
slave与master建立链接,发送sync同步命令
2master会开启一个后台进程,将数据库数据保存到文件中,同事master主进程会开始收集新的写命令并缓存
3.后台完成保存后就将文件发送给slave
4slave将此文件保存到硬盘上
搭建主从同步:
两台centos虚拟机已经安装好了redis(安装教程参照:http://blog.csdn.net/sunqingzhong44/article/details/70761670)
redis 安装目录/usr/local/下的redis
redis 源码目录/home/下的redis
两台虚拟机分别为192.168.1.233和 192.168.1.234
用233作为主,234作为从
1.修改从库234配置文件
进入/usr/local/reids/ 修改redis.cnf 修改下面各项
slaveof 192.168.1.233 6379
masterauth <password> #如果主库有密码则需要,负责不需要
2.主从配置成功了,我们启动从库,主库,链接主库,输入info命令,打印出的信息可以找到如下信息,说明成功
3.哨兵
有了主从复制,我们想对主从进行监控,主数据库出现问题时从转化为主数据库,实现自动切换。
Redis 的 Sentinel(哨兵) 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务:
监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。
Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。
虽然 Redis Sentinel 释出为一个单独的可执行文件 redis-sentinel , 但实际上它只是一个运行在特殊模式下的 Redis 服务器, 你可以在启动一个普通 Redis 服务器时通过给定 --sentinel 选项来启动 Redis Sentinel。
哨兵可以单独搭建在一台服务上,我这里就直接搭建在233上面
从源码包中复制sentinel.conf 到/usr/local/redis/etc/下
修改一下各项配置
dir /usr/local/redis/etc
sentinel monitor mymaster 192.168.1.121 6379 1
sentinel down-after-milliseconds mymaster 5000 多久检测一次
sentinel failover-timeout mymaster 900000
sentinel parallel-syncs my mymaster 1 从节点数量
4.启动哨兵
bin/redis-server etc/sentinel.conf --sentinel & #启动哨兵
bin/redis-cli -h 192.168.1.1 -p26379 info sentinel 查看哨兵信息
测试 shutdown主节点,通过下面信息可以看出主节点切换到了234
再启动233节点,可以看到233又加入了主从,变成了从节点:
1一个master可以拥有多个slave
2多个slave链接同一个master,也可以链接其它slave
3主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
4提供系统的伸缩性
主从复制过程:
slave与master建立链接,发送sync同步命令
2master会开启一个后台进程,将数据库数据保存到文件中,同事master主进程会开始收集新的写命令并缓存
3.后台完成保存后就将文件发送给slave
4slave将此文件保存到硬盘上
搭建主从同步:
两台centos虚拟机已经安装好了redis(安装教程参照:http://blog.csdn.net/sunqingzhong44/article/details/70761670)
redis 安装目录/usr/local/下的redis
redis 源码目录/home/下的redis
两台虚拟机分别为192.168.1.233和 192.168.1.234
用233作为主,234作为从
1.修改从库234配置文件
进入/usr/local/reids/ 修改redis.cnf 修改下面各项
slaveof 192.168.1.233 6379
masterauth <password> #如果主库有密码则需要,负责不需要
2.主从配置成功了,我们启动从库,主库,链接主库,输入info命令,打印出的信息可以找到如下信息,说明成功
3.哨兵
有了主从复制,我们想对主从进行监控,主数据库出现问题时从转化为主数据库,实现自动切换。
Redis 的 Sentinel(哨兵) 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务:
监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。
Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。
虽然 Redis Sentinel 释出为一个单独的可执行文件 redis-sentinel , 但实际上它只是一个运行在特殊模式下的 Redis 服务器, 你可以在启动一个普通 Redis 服务器时通过给定 --sentinel 选项来启动 Redis Sentinel。
哨兵可以单独搭建在一台服务上,我这里就直接搭建在233上面
从源码包中复制sentinel.conf 到/usr/local/redis/etc/下
修改一下各项配置
dir /usr/local/redis/etc
sentinel monitor mymaster 192.168.1.121 6379 1
sentinel down-after-milliseconds mymaster 5000 多久检测一次
sentinel failover-timeout mymaster 900000
sentinel parallel-syncs my mymaster 1 从节点数量
4.启动哨兵
bin/redis-server etc/sentinel.conf --sentinel & #启动哨兵
bin/redis-cli -h 192.168.1.1 -p26379 info sentinel 查看哨兵信息
测试 shutdown主节点,通过下面信息可以看出主节点切换到了234
再启动233节点,可以看到233又加入了主从,变成了从节点:
相关文章推荐
- KeepAlived+Redis | 高可用 | 主从复制 | 健康检查 | 故障自动切换
- Redis Sentinel主从复制自动切换方案
- 我的redis+keepalived主从自动切换配置脚本
- redis实现主从复制和高可用(主从切换)
- redis 主从复制及切换
- 使用keepalived实现mysql主从复制的自动切换
- Redis集群:redis主从自动切换Sentinel操作实例
- Redis集群_3.redis 主从自动切换Sentinel
- redis - 主从复制与主从切换
- Redis主从复制,读写分离,主从切换
- 【Redis3】基于Redis sentinel的自动failover主从复制
- Redis sentinel 主从自动切换配置
- redis实现主从复制和高可用(主从切换)
- keepalived实现对mysql主从复制的主备自动切换
- redis 主从备份自动切换+java代码实现类
- Redis主从复制和主从切换
- redis主从配置及通过keepalived实现redis自动切换,redis主从实现10秒检查与恢复
- Redis集群:redis主从自动切换Sentinel
- Redis主从复制 - 通过Keepalived实现Redis Failover自动故障切换功能
- Redis集群_3.redis主从自动切换Sentinel(转)