文档章节

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

满小茂
 满小茂
发布于 2015/12/24 13:57
字数 582
阅读 2.5K
收藏 9

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

  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才能做故障转移    



© 著作权归作者所有

满小茂
粉丝 80
博文 122
码字总数 139182
作品 0
成都
程序员
私信 提问
加载中

评论(2)

满小茂
满小茂 博主

引用来自“xly0713”的评论

请教: master挂掉了, 假如还有部分数据没有同步完成到新选出来的master(之前是slave),数据丢失了怎么办?
一般来说,挂掉的master会成为slave,新的master应该能同步
x
xly0713
请教: master挂掉了, 假如还有部分数据没有同步完成到新选出来的master(之前是slave),数据丢失了怎么办?
Redis主从复制、多实例、高可用(三)--技术流ken

Redis主从复制 在开始实现redis的高可用之前,首先来学习一下如何实现redis的主从复制,毕竟高可用也会依赖主从复制的技术。 Redis的主从复制,可以实现一个主节点master可以有多个从节点sla...

osc_rs0lpejm
2018/11/15
1
0
Linux云计算运维-Redis

Redis简介 Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品。Redis采用内存(In-Memory)数据集(DataSet) 。支持多种数据类型。运行于大多数POS...

osc_lrwj5l7d
2019/04/14
4
0
Redis主从配置,哨兵,集群的设计原理

一 前言 谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转...

osc_69u3sqmc
2019/08/26
7
0
Linux Redis 高可用之主从复制

Redis主从复制简介 和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或...

我最喜欢三大框架
2019/02/18
30
1
redis 部署方式及常见特性

单机部署 redis的单机部署 如何保证redis的高并发和高可用? redis的主从复制原理?redis的哨兵原理? redis单机能承载多高并发?如果单机扛不住如何扩容扛更多的并发? redis会不会挂?既然...

osc_es027r49
2019/03/19
2
0

没有更多内容

加载失败,请刷新页面

加载更多

如何制作出色的R可重现示例 - How to make a great R reproducible example

问题: This post is a Community Wiki . 这篇文章是社区维基 。 Edit existing answers to improve this post. 编辑现有答案以改善此职位。 It is not currently accepting new answers. 它......

技术盛宴
14分钟前
24
0
windows下修改默认mysql编码

查看编码格式: 进入mysql执行下面语句 show variables like '%character%'; 修改编码格式: set character_set_client=utf8;set character_set_connection=utf8;set character_set_da......

珞木橘子
19分钟前
21
0
ArrayList与LinkList性能对比----新增元素

在聊到 ArrayList 和 LinkList 的时候都会这么说 ArrayList 底层是基于数组实现的内存地址物理上是连续的,新增,删除效率低,查询效率高 LinkList 是基于链表实现的,逻辑地址是连续的内存地...

Lbj虞
39分钟前
34
0
Nginx

想了解nginx的代理可以先看这篇: https://baijiahao.baiducom/s?id=1652608869911988442&wfr=spider&for=pc nginx常用命令 nginx -t ##检查配置文件,一般修改完配置文件都建议一定先执行这...

UItraman
昨天
24
0
新基建的福音:智慧楼宇可视化监控系统引领智能化新时代

前言 智慧楼宇和人们的生活息息相关,楼宇智能化程度的提高,会极大程度的改善人们的生活品质,在当前工业互联网大背景下受到很大关注。目前智慧楼宇可视化监控的主要优点包括: 智慧化 -- 智...

xhload3d
昨天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部