文档章节

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

满小茂
 满小茂
发布于 2015/12/24 13:57
字数 582
阅读 1524
收藏 8
点赞 0
评论 2
  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才能做故障转移    



© 著作权归作者所有

共有 人打赏支持
满小茂
粉丝 65
博文 108
码字总数 124981
作品 0
成都
程序员
加载中

评论(2)

满小茂
满小茂

引用来自“xly0713”的评论

请教: master挂掉了, 假如还有部分数据没有同步完成到新选出来的master(之前是slave),数据丢失了怎么办?
一般来说,挂掉的master会成为slave,新的master应该能同步
x
xly0713
请教: master挂掉了, 假如还有部分数据没有同步完成到新选出来的master(之前是slave),数据丢失了怎么办?
Redis单机主从高可用性优化

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

偶素浅小浅 ⋅ 2016/11/04 ⋅ 0

一步步实现redis+sentinel双机热备

前言 前些天一直在忙线上环境部署的事情,初步想的是,nginx(keepalive双机热备)+3(tomcat)+2redis(双机热备),但是后来由于阿里云服务器经典网络不提供虚拟IP,无法使用keepalive,ngi...

OSC一霸 ⋅ 2016/10/09 ⋅ 8

Linux运维-搭建高可用Redis缓存

前言 是一个高性能的数据库,现时越来越多企业与应用使用作为缓存服务器。楼主是一枚后端程序员,也算是半个运维工程师了。在服务器上搭建,怎么可以不会呢?下面楼主就带着大家从0开始,依次...

liangzzz ⋅ 2017/12/07 ⋅ 0

架构设计:系统存储(17)——Redis集群方案:高可用

1、概述 从本篇文章开始,我们将向读者介绍几种Redis的高可用高负载集群方案。除了介绍Redis 3.X版本中推荐的原生集群方案外,还会介绍使用第三方组件搭建Redis集群的方法。本文我们会首先介...

yinwenjie ⋅ 2016/12/20 ⋅ 0

redis应用之使用sentinel实现主从复制高可用

一、redis的高可用管理工具sentinel介绍 sentinel是一个管理redis实例的工具,它可以实现对redis的监控、通知、自动故障转移。sentinel不断的检测redis实例是否可以正常工作,通过API向其他程...

xingliguang ⋅ 2016/10/14 ⋅ 0

实现Redis高可用

利用keepalived实现redis高可用 环境介绍: master: 192.168.0.100 slave: 192.168.0.101 vip(keepvlied虚拟IP): 192.168.0.200 注:这里有一个坑 就是在同一网段之间的Keepalived的配置文件...

collglle_cx ⋅ 2016/05/18 ⋅ 0

Redis 主从复制

单台redis会遇到单点故障的问题,为了解决redis的高可用,主从复制应该是学习的第二个步骤。本文想达到的目的是,一个master带一个slave,而slave又带了一个slave,这样的好处是,当master故...

BearCatYN ⋅ 2015/07/09 ⋅ 0

基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案

基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案 http://www.tuicool.com/articles/naeEJbv 基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案 时间 2014-02-21 15:15:17 IT......

毛朱 ⋅ 2015/08/30 ⋅ 0

高可用Redis服务架构分析与搭建!

基于内存的Redis应该是目前各种Web开发业务中最为常用的Key-Value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较MySQL而言,速度有数量级的提...

冷_6986 ⋅ 06/12 ⋅ 0

从简到繁,高可用Redis服务架构分析与搭建

  【IT168 技术】基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速...

博客园 ⋅ 05/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 33分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 36分钟前 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 46分钟前 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 47分钟前 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 今天 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部