一:安装redis

$ yum -y install gcc $ yum -y install gcc-c++
$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz
$ tar -zvxf redis-5.0..tar.gz
$ cd redis-5.0.
$ make

二:主从复制原理

三:主从服务搭建

3.1复制3份redis.conf文件并分别命名为slave-7001.conf,slave-7002.conf和slave-7002.conf。然后修改它们如下

# 服务器端口号,主从分别修改为7001 7002 7003
port 7001
# 使得Redis可以跨网络访问
bind 0.0.0.0
# 配置reids的密码
requirepass "111111"
# ----------------下面两个配置只需要配置从节点(slave) ,-------------------------------
#----------------- 建议主节点也配置,因为后面的哨兵(如果主服务器down后重启也可以把它当成从服务器)--------------
# 配置主服务器地址、端口号
replicaof 127.0.0.1 7001
# 主服务器密码
masterauth "111111"

说明1:三份文件分别指定不同的端口号,目的是在一台机器上可以启动3个redis实例。

说明2: requirepass 和 masterauth 指定连接主从服务器的密码

说明3: replicaof 指定主服务器的地址

备注:建议3个文件都设置

3.2 启动这三台服务器

$ ./src/redis-server slave-7001.conf
$ ./src/redis-server slave-7002.conf
$ ./src/redis-server slave-7003.conf

3.3 查看主从搭建信息

3.3.1 通过redis-cli工具连接redis服务

四:哨兵模式

  简单的主从集群有个问题,就是主节点挂了之后,无法从新选举新的节点作为主节点进行写操作,导致服务不可用。所以接下来介绍Sentinel(哨兵)功能的使用。哨兵是一个独立的进程,哨兵会实时监控master节点的状态,当master不可用时会从slave节点中选出一个作为新的master,并修改其他节点的配置指向到新的master。

4.1 搭建步骤

步骤一:将sentinel.conf文件复制三份并分别命名为sentinel1.conf,sentinel2.conf和sentinel3.conf,并分别修改配置

#--------------最小配置--必配-------
sentinel monitor mymaster 127.0.0.1
sentinel down-after-milliseconds mymaster
sentinel failover-timeout mymaster
sentinel parallel-syncs mymaster
#--------------可选设置--开启脚本------
sentinel notification-script mymaster /var/redis/notify.sh
sentinel client-reconfig-script mymaster /var/redis/reconfig.sh

步骤二:开启哨兵

$ ./src/server-sentinel sentinel1.conf
$ ./src/server-sentinel sentinel2.conf
$ ./src/server-sentinel sentinel3.conf

备注:亦可用 redis-server /path/to/sentinel.conf --sentinel开启哨兵

校验:然后手动关闭主节点的redis服务,并查看两个slave信息是否有一个变成了master。

五:Springboot连接redis哨兵

spring:
redis:
sentinel:
master: mymaster
nodes: 192.168.1.167:,192.168.1.167:,192.168.1.167:
host: 192.168.1.164
port:
database:
password: <password>

备注:当SpringBoot连接的主服务器dwon后,Springboot会根据哨兵模式自动连接到新的主服务器

 

Redis->主从复制->哨兵模式(高可用)的更多相关文章

  1. Redis哨兵模式高可用部署和配置

    一.Redis 安装配置 1.下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.解压安装包 tar -zxv ...

  2. Redis哨兵模式高可用解决方案

    一.序言 Redis高可用有两种模式:哨兵模式和集群模式,本文基于哨兵模式搭建一主两从三哨兵Redis高可用服务. 1.目标与收获 一主两从三哨兵Redis服务,基本能够满足中小型项目的高可用要求,使 ...

  3. redis架构~哨兵模式

    一 哨兵模式稳定版本  redis哨兵模式是redis自带的高可用框架,稳定版本为redis2.8以上二 哨兵模式建立  1 避免单点故障,建立启动多个哨兵进程  2 哨兵模式启动命令 redis-s ...

  4. Redis系列4:高可用之Sentinel(哨兵模式)

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 1 背景 从第三篇 Redis系列3:高可用之主从架构 ,我们知道,为Re ...

  5. 浅谈:redis的主从复制 + 哨兵模式

    浅谈:redis的主从复制 + 哨兵模式 主从模式 ​ 在谈论redis的主从复制之前,我们先回想下mysql的主从搭建过程,第一步呢首先要在主库服务器中修改my.cnf,开启一下bin_log功能, ...

  6. net core 实战之 redis 负载均衡和"高可用"实现

    net core 实战之 redis 负载均衡和"高可用"实现 1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的& ...

  7. Redis-Sentinel Redis的哨兵模式

    Redis-Sentinel Redis的哨兵模式Redis Sentinel 模式简介Redis-Sentinel是官方推荐的高可用解决方案,当redis在做master-slave的高可用方案时, ...

  8. 一站式学习Redis 从入门到高可用分布式实践

    1:redis 是用c语言来实现的,速度快 持久化 单线程 复杂的数据类型有bitmap和hyperloglog和geo地理信息2:高可用.分布式 v2.8开始支持Redis-Sentinel(哨兵) ...

  9. Redis进阶:Redis的哨兵模式搭建

    Redis进阶:Redis的哨兵模式搭建 哨兵机制介绍 单机版的Redis存在性能瓶颈,Redis通过提高主从复制实现读写分离,提高了了Redis的可用性,另一方便也能实现数据在多个Redis直接的备 ...

  10. Redis从出门到高可用--Redis复制原理与优化

    Redis从出门到高可用–Redis复制原理与优化 单机有什么问题? 1.单机故障; 2.单机容量有瓶颈 3.单机有QPS瓶颈 主从复制:主机数据更新后根据配置和策略,自动同步到备机的master/s ...

随机推荐

  1. centos的安装

    直接给大家截图说明吧,简洁明了. 休闲吃瓜时光 选择语言  这边看个人  当然推荐英语 设置root密码 将自己要设置的信息填写进去即可 然后又是休闲吃瓜时光..... 下来登录即可 然后可以看到 这 ...

  2. [Axure教程]0005.系统函数与变量介绍

    1.变量的种类: [1].全局变量:可以在整个原型的任意位置调用和修改. [2].局部变量:仅作用于某一事件的某一动作内. [3].自定义变量:自行新建的全局变量. 2.Axure函数: [1].特殊 ...

  3. 使用RTL进行硬件模型编程的局限性

    https://mp.weixin.qq.com/s/Nj_d3hwgNX4kWVtKsqMSWg   ​​   硬件模型编程,即Hardware Model Programming.在RTL抽象级别 ...

  4. 前端HTML 定位position 绝对定位 相对定位

    >>>position:absolute;绝对定位 当前元素相对于父级元素位置[该父级元素必须也设定了position,不然会继续往上找祖先元素,直到body为止]的定位 >& ...

  5. ASP.NET中使用Entity Framework开发增删改查的Demo(EF增删改查+母版页的使用)

    这里更多的是当作随身笔记使用,记录一下学到的知识,以便淡忘的时候能快速回顾 这里是该项目的第二部分, 第一部分 第二部分(当前部分) 大完结版本 此Demo是新建了一个音乐类型的web,然后使用母版页 ...

  6. Java中StringBuffer和StringBuilder的区别

    区别1线程安全: StringBuffer是线程安全的,StringBuilder是线程是不安全的.因为StringBuffer的所有公开方法都用synchronized 来修饰,StringBuil ...

  7. Java实现 LeetCode 26 删除排序数组中的重复项

    26. 删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) ...

  8. Java实现 蓝桥杯 历届试题 地宫取宝

    问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...

  9. 运维、python、docker视频教程

    https://space.bilibili.com/97139894/?spm_id_from=333.788.b_7265636f5f6c697374.13 https://www.bilibil ...

  10. CUDA优化

    cuda程序优化 一:程序优化概述 1:精度 在关键步骤使用双精度,其他步骤使用单精度,以获得指令吞吐量和精度的平衡. 2:延迟 先缓冲一定量数据,在交给GPU计算.可以获得较高的数据吞吐量. 3:计 ...