废话不多说,直接进入正题。

一、主从搭建

  进入redis的根目录,拷贝一份redis.conf,最初的一份留作模版:

①cp  redis.conf redis.conf.template

②vim redis.conf(主节点的配置)

# Redis使用后台模式
daemonize yes
# 关闭保护模式
protected-mode no
# 注释以下内容开启远程访问
# bind 127.0.0.1
# 启动端口为6379
port 6379
# 修改pidfile指向路径
pidfile /home/softwares/redis3.2.11/6379/redis_6379.pid

③修改从节点redis配置文件

  与主服务器配置大致相同,唯一需要在配置文件中多添加一行的配置:slaveof 主服务器ip  端口,我这里是slaveof 10.42.41.16 6379,这种方式配置重启redis还是主从关系

  在redis客户端通过slaveof命令挂接只是临时的主从关系,重启redis后会失效。

④启动redis服务

  在每个服务器的redis根目录下:redis-server ./redisconf启动redis服务

⑤通过redis-cli -c登录每个客户端

  info replication查看角色,此时主从结构已经搭建成功。

二、哨兵模式

  主从结构搭建完成以后,主节点与从节点的数据是保持一致的,当主节点宕机以后,可以人工手动设置从节点为主节点,其他进来的节点自动设置为从节点。看到这里你会想到什么?万一凌晨1点,主节点宕机了,你还要从被窝爬起来去设置从节点为主节点吗?显然不会,我们通过一个哨兵,也就是一个进程帮我们完成主从节点的替换,我们也就可以睡个好觉了。由于本次是测试环境,使用的是1个哨兵,实际开发中,还是以集群模式为主,本测试环境中的1个哨兵存在单点故障问题。

  进入redis的根目录下:cp sentinel.conf sentinel.conf.template

①编辑sentinel.conf

  P15 bind 需要注释掉ip信息不要绑定

  P17 protected-mode no放开,配置no

  P69 sentinel monitor mymaster 127.0.0.1 6379 1

    mymaster这里名称可以自定义

    127.0.0.1这是主服务器redis的ip

    6379 主服务器redis的端口

    1 投票数量,本测试环境只有1个哨兵,所以设置为1

    如果哨兵是集群模式,只需要修改投票数量:集群数量/2+1,注意取整

②启动哨兵进程

  redis-sentinel ./sentinel.conf,此时哨兵已经开始监听redis主从结构,并且会做到当主节点宕机,从节点自动晋升为主节点。

三、测试主从替换

①登录客户端

  在主从服务器:redis-cli -c 进入redis的客户端,使用info replication查看主从结构

②查看redis进程

  通过ps -ef | grep redis 来查看redis的进程pid

③kill -9 主redis的pid

  查看从节点的角色,它会晋升为主节点,当主节点恢复以后会自动成为丛节点。

ps:本人由于是刚开始接触博客,难免会有不足和错误,写博客只是记录本人在学习和工作的过程中的成长,如有不足,欢迎各位指正,谢谢~

Redis搭建一主一从及哨兵模式(二)的更多相关文章

  1. Redis搭建(三):哨兵模式

    一.sentinel介绍 Redis 2.8中提供了“哨兵”工具来实现自动化的系统监控和故障恢复功能. Redis 2.6 版也提供了哨兵工具,但此时的哨兵是1.0版,存在非常多的问题,任何情况下都不 ...

  2. (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

    参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...

  3. redis 主从复制和哨兵模式(二)

    Redis 主从复制 为了分担单机 redis 的数据服务压力,需要进行读写分离,所以搭建 redis 的主从结构,主节点负责写,从节点负责读,主节点定期把数据同步到从节点. 配置主从 # 配置文件中 ...

  4. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  5. Docker:docker搭建redis一主多从集群(配置哨兵模式)

    角色 实例IP 实例端口 宿主机IP 宿主机端口 master 172.19.0.2 6382 192.168.1.200 6382 slave01 172.19.0.3 6383 192.168.1 ...

  6. Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)

    Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3)哨兵模式来进行主从替换以及故障恢复. 一.sentinel哨兵模式介绍Sentinel ...

  7. [转]Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)

    Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3)哨兵模式来进行主从替换以及故障恢复. 一.sentinel哨兵模式介绍Sentinel ...

  8. redis架构~哨兵模式

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

  9. Redis高可用集群-哨兵模式(Redis-Sentinel)

     前言 Redis哨兵模式,用现在流行的话可以说就是一个“哨兵机器人”,给“哨兵机器人”进行相应的配置之后,这个"机器人"可以7*24小时工作,它能能够自动帮助你做一些事情,如监控 ...

随机推荐

  1. scw——02错误initializationError(Runner:JUnit 4)

    代码: 错误: 原因:版本不同,自动生成的代码不同 解决:

  2. C语言随笔1:内存分配方式与动静态变量

    首先几个基本概念(网上的各种说法都很乱:个人理解整理了一下 内存分类方法很多,动态.静态:  五区:  三段: 内存的区: 1.动态存储区分为 栈区.堆区   也统称为堆栈段1.1栈区(.stack) ...

  3. js splice()

    //arrayObject.splice(index,howmany,item1,.....,itemX) 语法 //测试代码let array;array = ['George','John','T ...

  4. Java的多态-进阶

    Java的多态——进阶 总括 Parent p = new Child(); 反之,Child() c = new Parent(); 会报错. 当使用多态方式调用方法时,首先检查父类中是否有该方法. ...

  5. 【转】git rebase详解

    git合并代码方式主要有两种方式,分别为:1.merge处理,这是大家比较能理解的方式.2.rebase处理,中文此处翻译为衍合过程. git rebase操作讲解例子: cd /usr/local/ ...

  6. centos7 源码编译安装nginx教程 nginx安装脚本 lua-nginx-module

    安装nginx需要pcre zlib openssl的库,下文都是在官网直接下载用作编译安装 该nginx安装教程,有安装maxmind IP 库 该nginx安装教程有安装lua-nginx-mod ...

  7. 搭建FEBS权限系统

    在码云看到一个FEBS权限系统,但是没有找到搭建手册,自己记录一下. 1.下载项目:https://github.com/wuyouzhuguli/FEBS-Shiro2.创建数据库:执行sql文件夹 ...

  8. Redis如果内存满了怎么办?

    Redis占用内存大小 我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小. 1.通过配置文件配置 ...

  9. Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览

    一.设计原理 1.Hadoop架构: 流水线(PipeLine) 2.Hadoop架构: HDFS中数据块的状态及其切换过程,GS与BGS 3.Hadoop架构: 关于Recovery (Lease ...

  10. 程序员必需知道的Chrome使用技巧(入门篇)

    浏览器版本 Chrome Canary 新增一些没有经过Google工程师的测试或使用的浏览器功能版本.Chrome Dev让大多数开发人员主要使用此版本来测试对浏览器的重大版本功能版本.Chrome ...