文档章节

redis实现主从复制和高可用(主从切换)

满小茂
 满小茂
发布于 2015/12/24 13:57
字数 582
阅读 1705
收藏 8
  1. 主从Redis配置

     Redis服务器具体配置

    127.0.0.1 :6379(主)

    127.0.0.1 :6380(从)

    127.0.0.1 :6381(从)


  2. 主从复制主要经历四个阶段: 


    第一阶段:slave与master建立连接 
    第二阶段:slave向master发起同步请求
    第三阶段:slave接受master发来的dump.rdb数据 
    第四阶段:slave载入dumo.rdb文件 


  3. 配置

          1.首先要有3个redis实例,安装1个redis,复制2个redis(redis-master ,redis-slave1,redis-slave2)

            2.分别配置redis.conf  不同的port 不同的pid 不同的redis文件夹配置master的redis.conf 

  redis-mater 配置默认不变

  redis-slave1redis.conf配置:                           

pidfile /var/run/redis1.pid #改变pid的文件名
port 6380                   #改变port端口号
dir /usr/local/redis1       #改变路径
slaveof 127.0.0.1 6379      #绑定主的ip和端口

   redis-slave2的redis.conf配置:

pidfile /var/run/redis2.pid #改变pid的文件名
port 6381                   #改变port端口号
dir /usr/local/redis2       #改变路径
slaveof 127.0.0.1 6379      #绑定主的ip和端口

  配置完成后就开启这三个redis :分别跳到三个Redis实例中,执行对应命令

$:src/redis-server redis.conf

                       

但是当主从的主,发生宕机时,数据肯定就断了,导致数据不能写入,reids的作者也想到了这一点,所以在redis2.6以上中就有了reids的监控软件sentinel(哨兵),sentinel会监控redis的主从是否存在,如果监控到主断掉了,那么就把从提升到主


配置redis的sentinel

   创建一个实例 redis-sentinel ,  打开 sentinel.conf配置如下 

port 26379
#master
sentinel monitor master1 127.0.0.1 6379 1  #填写master的ip port 
sentinel down-after-milliseconds master1 3000
sentinel failover-timeout master1 900000
sentinel can-failover master1 yes
sentinel parallel-syncs master1 2

   启动哨兵: 

$: src/redis-sentinel  sentinel.conf

    一般一个master最好配置两个sentinel才能做故障转移    



© 著作权归作者所有

共有 人打赏支持
满小茂
粉丝 74
博文 119
码字总数 131884
作品 0
成都
程序员
私信 提问
加载中

评论(2)

满小茂
满小茂

引用来自“xly0713”的评论

请教: master挂掉了, 假如还有部分数据没有同步完成到新选出来的master(之前是slave),数据丢失了怎么办?
一般来说,挂掉的master会成为slave,新的master应该能同步
x
xly0713
请教: master挂掉了, 假如还有部分数据没有同步完成到新选出来的master(之前是slave),数据丢失了怎么办?
基于Docker的Redis高可用集群搭建(redis-sentinel)

前言   之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动升级为主库的,也就是说,该redis主从集群并非是高可用的。...

mario阿东
07/06
0
0
redis集群的原理-哨兵机制

Redis的哨兵机制:Sentinel(哨兵)是Redis 的高可用性解决方案 为了达到redis的高可用,有两种常用的部署方式:主从复制+哨兵机制;集群模式。哨兵机制是redis2.8开始支持。集群模式是redis...

DemonsI
08/10
0
0
Redis单机主从高可用性优化

版权声明:本文由陈龙原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/127 来源:腾云阁 https://www.qcloud.com/community redis是一款高性能的内存数据...

偶素浅小浅
2016/11/04
6
0
Redis应用学习——Redis Sentinal

Redis Sentinal解决主从复制的高可用问题 1. 主从复制中存在的问题: 当主节点或从节点发生故障时,必须手动进行故障转移 单主节点,写能力和存储能力受限,因为只能在主节点进行写操作,而且...

江左煤郎
11/01
0
0
Redis 的几种常见使用方式

Redis 的几种常见使用方式包括: Redis 单副本 Redis 多副本(主从) Redis Sentinel(哨兵) Redis Cluster Redis 自研 Redis 单副本,采用单个 Redis 节点部署架构,没有备用节点实时同步数...

Forande
08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 安装PHP5和PHP7

安装PHP5 下载解压二进制包 [root@test-a src]# cd /usr/local/src/[root@test-a src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2[root@test-a src]# tar jxvf php-5.6......

野雪球
今天
3
0
windows上类似dnsmasq的软件Dual DHCP DNS Server

官网地址:http://dhcp-dns-server.sourceforge.net/官网定向的下载地址:https://sourceforge.net/projects/dhcp-dns-server/files/ 设置参考地址:http://blog.51cto.com/zhukeqiang/18264......

xueyuse0012
今天
3
0
LinkedHashMap源码解析

前言 HashMap中的元素时无序的,也就是说遍历HashMap的时候,顺序和放入的顺序是不一样的。 如果需要有序的Map,就可以采用LinkedHashMap. LinkedHashMap通过维护一个包含所有元素的双向链表,...

grace_233
今天
3
0
初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
5
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部