基于Docker快速搭建Redis-Sentinel集群及哨兵模式配置指南

创始人
2024-12-31 12:16:45
0 次浏览
0 评论

基于Docker搭建Redis-Sentinel哨兵模式集群教程

Sentinel模式是Redis集群的高级配置方案,结合了主从复制机制和Sentinel监控功能,实现集群高可用。
Sentinel对主节点进行监控,一旦检测到主节点出现异常,就会自动触发故障恢复流程,保证数据的连续性。
在Sentinel工作流程中,“SentinelMonitor”用于在配置文件中指定主节点的IP和端口,以监控多个主节点。
Sentinel启动后,会与主节点建立两条连接,监控实时状态。
主节点发生故障后,哨兵启动故障恢复流程,并使用Raft算法选举主导哨兵。
领导哨兵选出失效主节点的一个从节点,将其提升为新的主节点,并通知其他从节点跟随新的主节点完成数据同步。
旧主节点更新为从节点,服务恢复。
基于Docker创建Redis-Sentinel集群教程首先,在一台机器上创建一个网络环境。
然后创建一个主节点容器和两个从节点容器。
通过检查主节点IP(sentinel配置文件中使用的),新建配置文件`sentinel.conf`并配置主节点信息。
然后创建一个哨兵容器来监控主从节点。
来验证这一点要检查集群是否创建成功,可以连接任意一个master节点,执行INFOreplication命令,输入INFOsentinel查看sentinel状态。
至此,一个基于Docker的Redis-Sentinel集群就创建完成了,保证了系统的高可用和数据的一致性。

Linux下安装配置redis详细教程,并配置哨兵模式

Redis版本是redis-3.2.12。
使用该工具将安装包上传到data目录。

在给定目录中创建Redis文件夹并在此目录中安装Redis。

第一步:解压。

第二步:安装,PREFIX=/data/redis用于设置安装目录。

至此,Redis已经安装完毕,剩下的就是配置和启动服务了。

进入redis目录,创建conf配置文件、log日志、数据库dump、pid进程ID四个目录,存放对应的文件。
这四个目录也可以存放在其他文件夹中,只要它们与配置文件中的配置必须一致,否则服务启动时会报错。
bin目录包含Redis安装成功后的一些命令文件。

Redis服务配置为一主两从,哨兵模式。
注:如果实际开发中不使用哨兵模式,Redis服务可以配置一主一从。

主Redis配置:redis_6379.conf

注意:如果只使用Redis服务,只需在主Redis中配置requirepass,在从Redis中配置masterauth。
密码必须一致。
尽可能复杂,以避免被攻击。

注意:只是为了使用Redis服务,如果需要给Redis从机添加登录验证,也可以设置requirepass,密码可以与Redis主密码不同。

将配置文件放在/data/redis/conf目录下,然后启动服务。

检查服务的启动状态:

您还可以通过查看日志文件来确认服务是否正常启动。

通过客户端登录Redis,检查数据同步:

检查RedisMaster访问,设置数据:

从Redis登录,获取数据:Redis中没有数据设置密码,以便您无需验证即可操作。

配置sentinel模式:

RedisSentinel集群通常由3到5个节点组成。
如果单个节点发生故障,集群仍能正常运行。
Sentinel负责监控Redis集群的健康状况。

关于配置sentinel.conf:

将配置文件放在/data/redis/conf目录下,启动sentinel服务:

检查sentinel是否为功能启动后,可以手动关闭主Redis。

此时,如果Redis从机想要访问Redis主机的同步数据,则会显示错误信息:

检测到Redis主机宕机后,sentinel通过选举新的主Redis来选择从Redis。
通过查看sentinel寄存器,我们可以发现6380被选为新的Redismaster,另外两台Redis被选为RedisSlave。

注意:选择6380作为Redismaster后,所有配置文件都会被修改,主要是重新建立主从关系。

6379将添加:slaveof127.0.0.16380

6380将删除:slaveof127.0.0.16379

6381将更改:slaveof127.0.0.16380

6381将更改:slaveof127.0.0.16380

由于6379服务已经关闭,虽然Sentinel使用6379作为从服务6380,实际上还没有成立。

重启服务6379,此时Sentinel会重建并建立主从关系:

热门文章
1
Python代码实现:如何判断三角形的三... python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...

2
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

3
SQL字段默认值设置全攻略:轻松实现自动... sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...

4
MySQL查询加速秘籍:PolarDB ... mysql中in大量数据导致查询速度慢怎么优化?在MySQL中处理大量数据时,查...

5
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

6
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

7
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

8
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

9
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

10
MySQL自增主键重置攻略:解决用尽问题... MySQL让有数据的表主键从1开始连续自增当您需要MySQL中的数据表使用连续数...