关于Redis哨兵机制实验操作步骤

需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!!

需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!!

一、配置哨兵(sentinel)

创建三个哨兵配置文件,分别为 sentinel-26379.conf、sentinel-26380.conf 和 sentinel-26381.conf。每个文件内容如下(根据需要修改端口和主节点信息):

sentinel-26379.conf

bash 复制代码
port 26379
dir /usr/local/redis/sentinels/data/sentinel-26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1

sentinel-26380.conf

bash 复制代码
port 26380
dir /usr/local/redis/sentinels/data/sentinel-26380
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1

sentinel-26381.conf

bash 复制代码
port 26381
dir /usr/local/redis/sentinels/data/sentinel-26381
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1

二、启动哨兵进程

分别启动三个哨兵进程:

bash 复制代码
redis-sentinel /usr/local/redis/sentinels/sentinel-26379.conf
redis-sentinel /usr/local/redis/sentinels/sentinel-26380.conf
redis-sentinel /usr/local/redis/sentinels/sentinel-26381.conf

验证哨兵是否正常启动:

bash 复制代码
ps aux | grep redis-sentinel

三、验证哨兵配置

使用哨兵 CLI 验证主从监控状态:

bash 复制代码
redis-cli -p 26379
SENTINEL masters
SENTINEL slaves mymaster

输出说明:

SENTINEL masters:列出所有被监控的主节点。

SENTINEL slaves mymaster:列出主节点 mymaster 的从节点列表。

四、模拟主节点故障切换

停止主节点

bash 复制代码
pkill -f "redis-server.*6379"

观察哨兵切换日志 查看哨兵日志输出,验证是否完成故障切换。也可以通过 Redis CLI 查看新的主节点:

bash 复制代码
redis-cli -p 26379
SENTINEL get-master-addr-by-name mymaster

或者强制触发故障切换:

bash 复制代码
redis-cli -p 26379 SENTINEL failover mymaster

验证新主节点状态

bash 复制代码
redis-cli -p 6381 info replication

确认从节点同步状态

登录到从节点(原主节点或其他从节点)检查它们是否已正确同步到新的主节点:

bash 复制代码
redis-cli -p 6380 info replication
bash 复制代码
redis-cli -p 6379 info replication

将旧主节点重新加入集群

如果旧主节点(6379)已恢复并希望重新加入集群,需将其设置为新主节点的从节点:

bash 复制代码
redis-cli -p 6379 replicaof 127.0.0.1 6381

然后验证其角色:

bash 复制代码
redis-cli -p 6379 info replication
相关推荐
幽兰的天空2 分钟前
Java 基础之 XQuery:强大的 XML 查询语言
java·运维·数据库
不能只会打代码3 分钟前
Java多线程与线程池技术详解(九)
java·开发语言·java线程池·多线程与线程池
灰色人生qwer16 分钟前
使用 java -jar 命令启动 Spring Boot 应用时,指定特定的配置文件的几种实现方式
java·spring boot·jar
sagima_sdu30 分钟前
Python 程序与 Java 系统集成:通过 FastAPI 实现 HTTP 接口
java·python·fastapi
烬奇小云32 分钟前
基于Dockerfile的博客管理系统的容器化部署
java·sql·mysql·spring
液态不合群39 分钟前
[Java] Stream流使用最多的方式
java·windows·python
阿哈831 小时前
A6481 基于Java+mysql+Vue+MySQL+uni-app在线商城系统微信小程序的设计与实现 配置 源码 全套资料
java·vue.js·mysql·微信小程序·uni-app
weixin_307779131 小时前
大数据、云计算和容器技术软件开发技能笔试题
大数据·python·spark·云计算·aws
Little丶Seven1 小时前
[游戏开发] Unity中使用FlatBuffer
数据库·unity
A Runner for leave1 小时前
146.组合总和
java·数据结构·python·算法·leetcode