在Linux系统上搭建Redis集群,实现主从同步与哨兵机制

Linux系统搭建主从同步,哨兵机制的Redis集群,实现Redis的高可用 1.Redis 主从复制、哨兵和集群这三个有什么区别 1.主从模式:读写分离,备份,一个Master可以有多个Slaves。 2.哨兵sentinel:监控,自动转移,哨兵发现主服务器挂了后,就会从slave中重新选举一个主服务器。 3.集群:为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器,内存/QPS不受限于单机,可受益于分布式集群高扩展性。 2.哨兵(senti... 阅读详情

Redis 简介:

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势:

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他key-value存储有什么不同?

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

Linux系统上搭建Redis集群:

1.开启虚拟机

查看ip地址  ifconfig

关闭防火墙 systemctl stop firewalld

打开Xshell4 和Xftp工具连接CentOS系统

/usr  文件夹下创建一个空的文件夹:redis

2.安装

此目录下下载安装包

 通过: wget http://download.redis.io/releases/redis-2.8.17.tar.gz  命令下载

 通过: tar xzf redis-2.8.17.tar.gz  命令解压

进入主文件夹  命令:cd redis-2.8.17

通过: make命令  编译redis主程序

如下图所示即为编译成功

make完后 redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:

下面启动redis服务 

.cd src

./redis-server

如果想关闭的话使用: ps -ef | grep redis   命令来查看进程

出现下图表示成功,此窗口就无法再操作了:

主从同步:

为什么要使用Redis主从同步读写分离

在实际项目中查询是最多的,而频繁的进行数据库查询的话会对数据库造成很大的压力。从而引发缓存雪崩和缓存穿透等问题。虽然Redis的性能也非常强大但在一些请求量大的项目中依然满足不了需求,而我们就配置主从同步和读写分离成倍的提高了Redis的性能。

1.新建从属redis文件夹 redis-slave

2.将redis文件夹中的redis-2.8.17文件拷贝到新建好的redis-slave文件夹中并且复制两份

实现一主两从:

3.修改从redis端口号

修改两个slave文件夹下redis.conf文件:

设置从属关系:

两个文件全改,第二个从redis端口号改为6381。

4.启动两个从redis服务

src文件夹下通过  ./redis-server ../redis.conf  命令启动

哨兵机制:

哨兵机制概述

Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。

它的主要功能有以下几点

  • redis是否按照预期良好地运行;
  • redis节点运行出现状况,能够通知另外一个进程(例如它的客户端);
  • master节点不可用时,能够选举出master的多个slave(如果有超过一个slave的话)中的一个来作为新的master,其它的slave节点会将它所追随的master的地址改为被提升为master的slave的新地址。

Sentinel支持集群

很显然,只使用单个sentinel进程来监控redis集群是不可靠的,当sentinel进程宕掉后(sentinel本身也有单点问题,single-point-of-failure)整个集群系统将无法按照预期的方式运行。所以有必要将sentinel集群,这样有几个好处:

  • sentinel进程宕掉了,依然可以进行redis集群的主备切换;
  • sentinel进程,如果这个进程运行出错,或者是网络堵塞,那么将无法实现redis集群的主备切换(单点问题);
  • sentinel,redis的客户端可以随意地连接任意一个sentinel来获得关于redis集群中的信息。

 

一:修改主redis下sentinel.conf文件

1.配置端口:

在sentinel.conf 配置文件中, 我们可以找到port 属性,这里是用来设置sentinel 的端口,一般情况下,至少会需要三个哨兵对redis 进行监控,我们可以通过修改端口启动多个sentinel 服务。

2、配置主服务器的ip 和端口

我们修改ip地址,并且设置权重值2,这里的权值,是用来计算我们需要将哪一台服务器升级升主服务器

接着修改从redis下sentinel.conf文件,端口号改成一个26380,一个26381。其中服务器的ip和权重比与主redis的配置一致。

二:启动Sentinel

1.启动主redis的Sentinel,在主redis的src目录下通过  ./redis-sentinel ../sentinel.conf  命令启动Sentinel

如图下:

2.在slave文件下的src目录下也通过 ./redis-sentinel ../sentinel.conf 命令启动两个从redis的Sentinel

如下图

三:客户端连接

1.启动自己电脑的redis客户端

2.连接三台redis,port是自己三台redis的端口号,依次改变端口号连接就好

注意这步要关闭自己linux系统中的防火墙,否则将连接不上!

三台redis报红则表示连接成功

四:演示主从同步

我们在主redis中存一条数据

点击save

然后你就会发现,其他从redis的数据也展示了,这就是主从同步

注意:从redis只能负责读取,不能写

演示哨兵机制:

可以通过  ps -ef|grep redis   命令查看redis进程
通过         kill -9 pid               命令杀死主redis进程

当主redis宕机,两台从redis将会选举出来一个主redis顶替死掉的redis。当死掉的redis重新连接时,他就变成了从redis。

 

搭建完成,谢谢观看!

redis集群搭建(一主一从一哨兵) 立即下载

相关推荐

UG二次开发避坑指南:如何正确配置Python环境让NXOpen脚本跑起来?

本文详细介绍了UG/NX二次开发中Python环境配置的全流程与NXOpen脚本调试技巧,帮助开发者避开常见陷阱。从NXOpen架构解析到Python解释器版本匹配,再到环境变量设置与路径问题处理,提供了一套经过验证的配置方案,确保脚本顺利运行。

weixin_33859135的博客 450

redis高可用-主从同步

下面我们介绍下redis的同步机制,可以实现一主多从,主服务挂掉,可以手动切换从服务为主服务继续服务。(1)主从同步配置开启以后,所有写操作只会在主库进行,读操作基本会在从库进行,主从保持数据的一致性,主库有了数据更新以后会立即同步给从库。(1)我们在主实例添加数据,添加以后发现从服务两个实例都已经存在相同的数据,同理我们在实例1中删除数据,发现实例2和3也同步删除。(2)redis主从同步配置以后,首次同步采用全量复制,从库会从头复制主库的数据,主从同步以后,从库读取主库的缓冲区进行增量复制。

qinshi501的博客 553

ICC2 高效上手 | create_lib 命令全攻略:数字后端工程师的必备秘籍

如果技术文件中的足够满足你的需求,你可以设置,然后运行create_lib命令;如果技术文件的精度不够,那就需要显式地使用来定义缩放因子。在使用create_lib必须显式指定库名(如my_libA推荐优先通过或来关联技术数据,确保你的设计库有正确的工艺基础。显式地通过-ref_libs定义参考库,这样可以避免工具自动推导时可能出现的冲突。慎重使用,只有在对数据精度有特殊需求时才显式指定,并且要确保它与参考库的缩放因子一致。

weixin_50820814的博客 1596

centos7 redis-sentinel哨兵模式搭建

前言 实际MES项目需要用到redis缓存,单机redis不适合正式环境部署,因此考虑 Redis 服务器集群,实现主从配置和容灾部署,使得主机出现故障时,可自动进行容灾切换,下面就详细讲解一下如何利用 Redis 来实现。 ...

sanglimeng的博客 2164

2023电赛B题实战解析:基于立创天空星开发板的同轴线缆长度与负载测量系统

本文详细解析了2023年全国大学生电子设计竞赛B题的实战方案,重点介绍了基于立创EDA天空星开发板(STM32F103)的同轴线缆长度与负载测量系统。文章深入剖析了两种核心测量方案,并推荐了更稳定易实现的NE555测电容法,提供了从硬件选型、电路设计到软件编程、参数标定的完整“施工图”,实测精度可达厘米级和皮法级,为电赛复现与高精度测量学习提供了清晰指导。

weixin_36303305的博客 232

esp8266步进电机驱动控制

blinker控制步进电机起保停,正反转(Arduino uno+esp8266+TB6600驱动器) Arduino uno的板子的程序 esp8266板子接入到Arduino uno的控制引脚上的5,6,7 esp8266程序 //****库***** #define BLINKER_WIFI //官方wifi协议库 #define BLINKER_PRINT Serial //串口协议库 #include <Blinker.h&gt

perseverance51博客 2856

Linux下Redis哨兵集群模式搭建详解(1主2从+3哨兵)

Linux下Redis哨兵集群模式搭建详解(1主2从+3哨兵)

weixin_42925623的博客 1万+

为什么我的 Spark Executor / Yarn Container 只有一个vCore?

在很多集群里,在关闭了Spark的DynamicAllocation的前提下(避免自动申请空闲资源,干扰测试结果),都会观察到:提交Spark作业时,申请 1 个 driver + n 个 executor 会在Yarn上会对应创建 n+1 个 container,但是每个container只有一个vCore,通过--driver-cores和--executor-cores设定的vCore数都未奏效。有人会因此错误的认为Yarn上的一个vCore对应一个Spark的executor,这是非常错误的,正确的

Laurence的技术博客 917

Linux部署Redis哨兵集群 一主两从三哨兵(这里使用Redis6,其它版本类似)

Linux部署Redis哨兵集群 一主两从三哨兵(这里使用Redis6,其它版本类似)

kerwin的博客 9304

微信小程序 - 最新详细实现用户保存下载视频到手机相册,将视频临时路径、在线播放地址(网络路径)URL存储到手机,弹出访问手机相册权限询问,支持视频格式mp4、avi、mov、wmv、flv、webm

微信小程序,视频,手机相册,保存,另存为,小程序保存到相册权限,writePhotosAlbum,一键保存视频到手机相册功能(视频来源为链接),第一次要获取用户授权,授权使用相册权限,小程序视频下载,如何把视频下载到相册,下载一个视频到本地相册,显示下载进度,可取消下载,视频下载到本地,微信小程序视频如何下载,保存视频到相机,页面播放视频并下载到本地,安卓系统,苹果ios保存到相册报错,权限拒绝后打不开,添加相册授权弹框拒绝后再也出不来了,实现保存视频到手机相册功能,将mp4在线视频下载并存储到用户的手机中

🏆 前端领域优质创作者 7627

信号处理算法:自适应滤波_(8).自适应陷波器

自适应陷波器是一种强大的工具,广泛应用于电力系统、通信系统和生物医学信号处理等领域。通过自适应调整滤波器的参数,自适应陷波器可以在特定频率处形成陷波,从而有效地抑制噪声或干扰信号。常见的自适应算法包括LMS和RLS,它们各有优缺点,可以根据实际需求选择合适的算法。

2401_87715305的博客 1371

linux下安装redis并配置主从复制及哨兵模式

linux下安装Redis并配置主从复制模式以及哨兵模式(超级详细步骤)

m0_55779918的博客 725

RK3588平台开发系列讲解(USB篇)UAC初识

📢本篇将介绍RK3588平台`UAC`的配置使用。

内核笔记 3885

Linux环境下搭建Redis服务器集群,Redis集群高并发配置

前置环境 Linux系统上已安装好了Redis缓存服务器 如未搭建好,请参见文章: https://blog.youkuaiyun.com/qq_45273552/article/details/110285630 在搭建Redis集群之前,希望读者能先去读读笔者的另一篇文章: https://blog.youkuaiyun.com/qq_45273552/article/details/110496448 了解一下Redis服务器的分片机制和哨兵机制,这样可更好的理解本文 1.1.1为什么要搭建集群 分片/哨兵机制有哪些缺点 1

qq_45273552的博客 1527

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Linux系统下分布式缓存Redis持久化、搭建Redis主从集群和原理讲解,配置Redis哨兵;搭建Redis分片集群,对散列插槽、集群伸缩、故障转移详解配置RedisTemplate访问分片集群

单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。主节点进行数据写,从节点进行数据读,因为在实际应用中,读的操作会大于写,所以写节点只有一个且为主节点进行数据同步到从节点,而读节点为多个,应对高并发这了小编因为设备受限则是在一台虚拟机开启3个实例,准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。

weixin_64339548的博客 2537

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

redis安装,主从复制,哨兵机制,集群

redis安装,主从复制,哨兵机制,集群redis安装下载安装主从复制哨兵机制集群 redis安装 下载 下载地址:http://redis.io/download (这里下载的是Linux版的Redis源码包) Redis服务器端的默认端口是6379。 安装 通过SecureFXPortable工具,将Redis的源码包由windows上传到Linux系统 解压缩 tar -zxvf redis-3.0.0.tar.gz 切换到解压后的目录 cd redis-3.0.0 编译

chenmin_test的博客 334

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

redis集群搭建

在redis3.0之前,采用哨兵机制来保证高可用。哨兵存在一些问题,比如master挂掉后,哨兵不是立即切换,中间需要一个时间来确认master是不是挂掉了。这个时间内会写入数据失败。在redis3.0之后,出现了集群的概念。很好的解决了哨兵的不足。 在3.0以后引入了槽得概念 (1)redis-cluster 把所有的物理节点映射到[0-16383]slot 上,cluster 负责维护no...

weixin_30292843的博客 104

视频教程-Redis 入门、哨兵机制及集群高可用-NoSQL

Redis 入门、哨兵机制及集群高可用 具有多年互联网大型系统开发经验,曾带...

weixin_32374207的博客 120

Redis的哨兵集群(一主两从三哨兵、部署教程和知识总结)

自动故障转移Sentinel 能自动检测主节点和从节点的故障,并自动将从节点升级为新的主节点,从而保证服务的连续性和可用性。分布式监控Sentinel 可以以分布式方式运行,多个 Sentinel 实例之间会相互通信,共同决定是否需要进行故障转移。这增强了系统的健壮性和故障容忍能力。服务发现Sentinel 也承担配置提供者的角色,客户端可以查询 Sentinel 获取当前的主节点地址,这使得客户端总是连接到正确的主节点。可配置性。

weixin_71901717的博客 9305

Redis简介、Linux安装、主从复制配置、哨兵机制配置

Redis简介 Redis是非关系型数据库,该数据库是为了减轻对数据库的访问压力。一般的应用场所比如:短信验证码的时间有效期、关于在服务器使用集群时候的保证session共享的解决方案、解决使用集群带来的幂等性的问题使用全局id防止重复提交、大量静态数据的存储。 Redis的5种基本类型:String、List、Set、Sorted Set、Hash --一般使用String类型,因为在互...

学习无止境、创作无瓶颈 567

7.linux 下的redis服务的安装,redis的主从复制、redis哨兵机制、redis集群环境的搭建 以及和springboot的集成

linux 下的redis服务的安装,redis的主从复制、redis哨兵机制、redis集群环境的搭建 以及和springboot的集成

weixin_43159673的博客 209

linux 环境下redis 哨兵机制 (五)

一.主从复制的问题 Redis 复制有一个缺点,当主机 Master 宕机以后,我们需要人工解决切换,比如使用slaveof no one 。实际上主从复制并没有实现,高可用, 高可用侧重备份机器, 利用集群中系统的冗余,当系统中某台机器发生损坏的时候,其他后备的机器可以迅速的接替它来启动服务 如下图所示: 一旦主节点宕机,写服务无法使用,就需要手动去切换,重新选取主节点,手动设置主从关系 那...

yinjinshui的博客 877

Linux系统实现Redis哨兵机制

1.开启两台服务器,分别为192.168.0.107(master)和192.168.0.106(slave) 分别禁用防火墙:service iptables stop 启动两台服务器Redis服务:# [root@localhost bin]./redis-server /usr/local/redis/etc/redis.conf 2.修改sentinel.conf配置文件(哨兵机制...

AkiraNicky的博客 1920

简述 Redis 的 安装 /持久化策略/内存策略/分片机制/哨兵机制/集群配置

Redis 简介 Redis 是一种开源的 , 内存中的数据结构存储系统 , 它可以用作数据库,缓存和消息中间件 . 它支持多种类型的数据结构 , 如 字符串(strings) , 散列(hashes) , 列表(lists) , 集合(sets) , 有序集合(sorted sets) 与范围查询 等 . Redis 内置了 复制 , LUA脚本 , LRU 驱动事件 , 事务 和 不同级别的磁...

weixin_43471687的博客 329

详细总结:分布式, Nginx Linux Redis 微服务 Dubbo框架 Quartz定时任务

分布式 2.1分布式概念 将业务模块按照特定的规则进行拆分.分别部署到不同的服务器实现了架构的解耦. 传统项目:   存在问题: 1:模块之间耦合度太高,其中一个功能升级,其他的模块都得一起升级部署。 2:开发困难,各个团队开发最后都要整合在

weixin_63835553的博客 2835

Redis从入门到实战教程(附上Window和Linux详细安装教程)

Redis(Remote Dictionary Server,远程字典服务)是一款开源的、高性能的键值对(Key-Value)内存数据库。它最早由意大利开发者Salvatore Sanfilippo开发,遵循BSD开源协议。Redis不仅支持多种数据结构,还具备持久化、主从复制、分布式等高级特性,广泛应用于缓存、会话存储、消息队列、实时分析等场景。高性能:Redis基于内存操作,读写速度极快,单机每秒可处理数十万次请求(读速约110000次/秒,写速约81000次/秒)。多数据结构支持。

努力让自己发光,对的人才能迎着光而来 17万+
上一篇: 在Linux系统中通过Zookeeper集群部署Solr集群
下一篇: 在Linux系统上安装Mongodb服务
听风动
博客等级 码龄8年 63粉丝 90原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听风动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值