今天主要分享Redis主从架构和哨兵的搭建。

主从集群搭建

总共三个节点,一个主节点和两个从节点。都安装在一台机器上模拟主从集群,信息如下:

IP PORT 角色
192.168.246.140 7001 slave
192.168.246.140 7002 master
192.168.246.140 7003 slave

我们只需要准备三分配置文件和目录

  1. 创建三个目录7001、7002、7003,关闭AOF,开启RDB
save 3600 1
save 300 100
save 60 10000
# 关闭AOF
appendonly no
  1. 拷贝各个配置文件到实例目录
cp redis/redis.conf 7001
cp redis/redis.conf 7002
cp redis/redis.conf 7003
  1. 修改每个实例的端口、工作目录

修改每个文件夹内的配置文件,将端口分别修改为7001、7002、7003和rdb文件保存位置改成自己所在目录

  1. 修改每个实例的IP,在Redis.conf文件指定每一个实例的IP信息
# redis实例的声明 IP
replica-announce-ip 192.168.246.140
  1. 在配置文件中
  • 修改配置文件(永久生效)要配置主从可以使用replicaof 或者slaveof
replicaof 192.168.246.140 7002

查看集群的信息

只能在master上添加数据,在slave上只能查看

哨兵集群搭建

这里我们在搭建一个三节点形成的Sentinel集群,监管之前的Redis主从 集群。

哨兵的信息如下:

node IP PORT
s1 192.168.246.140 27001
s2 192.168.246.140 27002
s3 192.168.246.140 27003

配置

和前面主从一样,我们需要先准备三分不同的配置文件和目录,名字分别为s1、s2、s3

  1. 创建一个sentinel.conf
port 27001
sentinel announce-ip "192.168.246.140"
sentinel monitor mymaster 192.168.246.140 7002 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
dir "/root/redis/s1"

其中port是端口,192.168.246.140 7002 2 主节点名称,端口,2代表的是选举master的quorum值

  1. 复制该文件到s2和s3中
cp s1/sentinel.conf s2
  1. 修改三个对应的端口

启动后

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OhtT0p0U-1677217020646)(C:\Users\DY\AppData\Roaming\marktext\images\2023-02-24-13-27-45-image.png)]

测试

我们让7002master节点宕机,查看sentinel日志

查看7003新master日志

重启7002后,7002会成为slave节点

总结

本文主要介绍了哨兵集群和主从的搭建过程以及对应的测试,除此之外应该还有Redis分片集群的搭建。

Redis主从和哨兵搭建的更多相关文章

  1. docker安装redis主从以及哨兵

    docker安装redis主从以及哨兵 本文使用docker在四台机器上部署一主二从三哨兵的Redis主从结构. 服务器配置 192.168.102.128 主节点 centos7.5 192.168 ...

  2. 关于redis主从|哨兵|集群模式

    关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重 ...

  3. 自动配置redis主从和哨兵

    redis shell  每次创建redis主从和哨兵服务,文件夹要复制好几个,配置文件改一大堆.繁琐还容易出错,就想通过shell脚本自动帮我配置好端口以及文件,下面就是脚本内容: redis-to ...

  4. redis主从|哨兵|集群模式

    关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重 ...

  5. Redis 主从、哨兵Sentinel、Jedis

    Redis 主从.哨兵Sentinel.Jedis 2017年02月15日 15:52:48 有且仅有 阅读数 6183 文章标签: redis主从sentineljedis 更多 分类专栏: 7/1 ...

  6. docker部署redis主从和哨兵

    docker部署redis主从和哨兵 原文地址:https://www.jianshu.com/p/72ee9568c8ea 1主2从3哨兵 一.前期准备工作 1.电脑装有docker 2.假设本地i ...

  7. Redis 主从集群搭建及哨兵模式配置

    最近搭建了redis集群及哨兵模式,为方便以后查看特此记录下来: 1.Redis安装 2.主从架构 2.1 Redis主从架构图 2.2Redis主从结构搭建 Redis集群不用安装多个Redis,只 ...

  8. redis主从集群搭建及容灾部署(哨兵sentinel)

    Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅. 提纲 Redis安装 整体架构 Redis主从结构搭建 Redis容灾部署(哨兵sentinel) Redis常见问题 ...

  9. Redis主从、哨兵模式的搭建

    壹.Redis主从分离 准备三个redis配置文件(redis.conf),分别修改为redis6380.conf.redis6381.conf.redis6382.conf 一.配置Master 1 ...

  10. redis主从配置+哨兵模式

    1.搭建redis主从,一个master两个slave,加一个哨兵监听(sentinel),可以新建三个虚拟机,模拟环境,我的电脑没那么多虚拟机,就在一台虚拟机上弄的. 2.安装redis,如果是三台 ...

随机推荐

  1. c#和JS数据加密(转)

    前台提交按纽 后以赋值后台取值    Base64编解码   C# /* 编码规则 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码. 它将需要编码的数据拆分成字节数组. ...

  2. Svn安装客户端鼠标右键报错SendRpt.exe not found

    kill 掉 重启资源管理器就好了

  3. 解决idea翻译失败问题

    修改host(windows)(2022-11-09) 进入该目录,C:\Windows\System32\drivers\etc,hosts文件上右键,把hosts文件的只读去了 打开hosts文件 ...

  4. JS和PHP中能转为布尔false的值的对比

    实际开发中经常会使用到JS和PHP中的变量转布尔值进行条件判断,下面对两种语言中转布尔类型结果为false的值进行对比,加深记忆和方便引用. 除了下表列出项,其它的值均转成真值true . 转布尔值后 ...

  5. 适用于 Linux 的 Windows 子系统使用 Visual Studio Code

    在WSL中使用VS Code,先在Windows中安装vscode,再通过功能扩展安装Vscode for wsl. VSCode 有system和user两个版本,默认下载链接为user版本.以下内 ...

  6. HTTPS、HTTP/2前端入门篇

    随着网络安全重要性日益凸显,越来越多的站点已经全站切换到HTTPS,其中很多HTTPS站点同时将HTTP协议升级到了HTTP/2.作为一只前端,最近一直在学习和应用相关知识点,便总结梳理如下. 一.何 ...

  7. 关于 manacher 的一个小细节

    在该算法中,我们需要用到一个数组 hw[i] ,代表 i 的最大回文半径.而且这个半径不包括 i 本身(若串为 ccc 则 hw 为 1). 这时最终答案为最大的 hw 减一. 为什么要减一呢?最终的 ...

  8. Windows 11 正式版(2021/10/19更新)

    Windows 11 (business editions), version 21H2 (updated October 2021) (x64) - DVD (Chinese-Simplified) ...

  9. vuex相关笔记

    vuex是什么? vuex是管理应用程序状态,实现组件间通信的. 为什么使用vuex? 在开发大型应用的项目时,会出现多个视图组件依赖一个同一个状态,来自不同视图的行为需要变更同一个状态. 在遇到以上 ...

  10. 在asp.net core webapi 中开启swagger

    首先需要安装包 Swashbuckle.AspNetCore 接着在项目中右键属性 接着在Startup 文件中声明一个字段 private string currentAssemblyName = ...