当前位置: 首页 > article >正文

NoSQL数据库Redis(四):哨兵集群

Redis哨兵集群配置一、哨兵集群核心原理Redis哨兵Sentinel是实现高可用性的分布式系统通过监控、通知、自动故障转移三大功能保障服务连续性监控机制哨兵节点每秒向主/从节点发送PING命令检测存活状态响应超时判定为主观下线SDOWN。当多数哨兵quorum确认主节点下线触发客观下线ODOWN。故障转移流程领导者选举使用Raft协议在哨兵间选举领导者新主节点选择根据优先级、复制偏移量等规则选择最优从节点配置更新将新主节点信息同步至所有节点客户端重定向通过PUBLISH通知客户端更新连接状态同步哨兵通过__sentinel__:hello频道发布自身信息实现节点间状态共享。二、OpenEuler环境准备# 所有节点执行 sudo dnf install -y gcc make tcl wget https://download.redis.io/releases/redis-7.0.12.tar.gz tar xzf redis-7.0.12.tar.gz cd redis-7.0.12 make sudo make install # 创建专用用户 sudo groupadd redis sudo useradd -r -g redis -s /sbin/nologin redis三、节点角色规划IP地址角色端口分配192.168.64.128主节点 哨兵6379/26379192.168.64.129从节点 哨兵6379/26379192.168.64.130从节点 哨兵6379/26379四、Redis主从配置主节点配置 (128)# /etc/redis/redis.conf bind 192.168.64.128 port 6379 daemonize yes pidfile /var/run/redis_6379.pid logfile /var/log/redis/redis.log dir /var/lib/redis masterauth S3cr3tPss # 主从认证密码 requirepass S3cr3tPss # 客户端访问密码从节点配置 (129/130)slaveof 192.168.64.128 6379 masterauth S3cr3tPss replica-read-only yes五、哨兵集群配置所有节点# /etc/redis/sentinel.conf port 26379 daemonize yes logfile /var/log/redis/sentinel.log sentinel monitor mymaster 192.168.64.128 6379 2 # quorum2 sentinel auth-pass mymaster S3cr3tPss sentinel down-after-milliseconds mymaster 5000 # 5秒判定下线 sentinel failover-timeout mymaster 60000 # 故障转移超时 sentinel parallel-syncs mymaster 1 # 并行同步数六、关键参数解析quorum值主要作用是把来自多个哨兵节点的独立判断主观下线汇聚成一个集群层面的共同决策客观下线从而有效防止因单点网络抖动等原因导致的误判故障转移超时failover-timeout控制故障转移各阶段超时阈值包含领导者选举、从节点晋升、配置传播三阶段网络分区处理graph LR A[主节点] --|网络中断| B[分区A] C[哨兵集群] --|网络中断| D[分区B] B--|多数哨兵在线| E[触发故障转移] D--|少数哨兵在线| F[维持原状态]七、启动与验证# 启动Redis服务 sudo systemctl start redis-server # 启动哨兵服务 redis-sentinel /etc/redis/sentinel.conf # 验证主从状态从节点执行 redis-cli -h 192.168.64.129 -a S3cr3tPss INFO replication # 输出示例 role:slave master_host:192.168.64.128 master_link_status:up # 检查哨兵拓扑 redis-cli -p 26379 SENTINEL MASTER mymaster预期输出包含主节点IP、从节点数量、哨兵节点数等关键信息。八、故障转移测试模拟主节点宕机# 在主节点执行 sudo systemctl stop redis-server观察日志# sentinel.log sdown master mymaster 192.168.64.128 6379 odown master mymaster #quorum 2/2 try-failover master mymaster vote-for-leader 5a3b4c6d 1 # 领导者选举 elected-leader master mymaster selected-slave 192.168.64.129 # 新主节点 failover-state-send-slaveof-noone 192.168.64.129 failover-state-wait-promotion 192.168.64.129 promoted-slave 192.168.64.129 # 晋升成功验证新拓扑redis-cli -p 26379 SENTINEL GET-MASTER-ADDR-BY-NAME mymaster 1) 192.168.64.129 2) 6379九、生产环境优化建议内核参数调优# /etc/sysctl.conf net.core.somaxconn 2048 vm.overcommit_memory 1哨兵部署策略避免与Redis进程同机部署物理隔离跨机房部署时设置sentinel announce-ip声明公网IP客户端重连策略# Python示例 from redis.sentinel import Sentinel sentinel Sentinel([(192.168.64.128, 26379), (192.168.64.129, 26379), (192.168.64.130, 26379)], socket_timeout0.5) master sentinel.master_for(mymaster, passwordS3cr3tPss) master.set(key, value) # 自动路由到主节点十、常见故障排查脑裂问题现象客户端同时向两个主节点写入解决设置min-slaves-to-write 1确保至少一个从节点同步配置不同步检查哨兵节点间网络连通性验证sentinel current-epoch值是否一致日志分析要点grep -E sdown|odown|failover /var/log/redis/sentinel.log十一、监控告警配置Prometheus监控指标# redis_exporter配置 - targets: [192.168.64.128:9121, 192.168.64.129:9121, 192.168.64.130:9121] labels: group: redis-sentinel关键告警规则- alert: RedisSentinelQuorumLost expr: redis_sentinel_master_quorum_status 0 for: 5m labels: severity: critical十二、安全加固措施防火墙配置# OpenEuler防火墙规则 sudo firewall-cmd --permanent --add-port6379/tcp sudo firewall-cmd --permanent --add-port26379/tcp sudo firewall-cmd --reloadACL访问控制# redis.conf aclfile /etc/redis/users.acl# users.acl user default on S3cr3tPss ~* all user monitor on MonitorPss resetchannels -all info

相关文章:

NoSQL数据库Redis(四):哨兵集群

Redis哨兵集群配置一、哨兵集群核心原理Redis哨兵(Sentinel)是实现高可用性的分布式系统,通过监控、通知、自动故障转移三大功能保障服务连续性:监控机制哨兵节点每秒向主/从节点发送PING命令检测存活状态,响应超时判定…...

3步搞定Nginx反向代理管理:nginx-proxy-manager-zh中文版终极指南

3步搞定Nginx反向代理管理:nginx-proxy-manager-zh中文版终极指南 【免费下载链接】nginx-proxy-manager-zh 基于nginx-proxy-manager翻译的中文版本 项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh nginx-proxy-manager-zh是基于Ngin…...

3步搞定缠论分析:ChanlunX插件让技术分析变简单

3步搞定缠论分析:ChanlunX插件让技术分析变简单 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 还在为复杂的缠论理论头疼吗?ChanlunX缠论可视化插件将复杂的缠论分析变得直观易懂…...

流放之路Build规划终极解决方案:Path of Building完全指南

流放之路Build规划终极解决方案:Path of Building完全指南 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 还在为《流放之路》复杂的Build规划而头疼吗&#…...

NFD云解析高级配置详解:代理设置、自定义端口与安全策略

NFD云解析高级配置详解:代理设置、自定义端口与安全策略 【免费下载链接】netdisk-fast-download 聚合多种主流网盘的直链解析下载服务, 一键解析下载,已支持夸克网盘/uc网盘/蓝奏云/蓝奏优享/小飞机盘/123云盘/移动/联通/天翼云/wps等. 支持文件夹分享解…...

告别手写UI!用GUI-Guider在Linux上5分钟搞定LVGL按键交互(附完整CMake配置)

5分钟极速开发:GUI-Guider与LVGL在Linux下的按键交互实战指南 当拿到一块新屏幕时,最令人头疼的莫过于从零开始编写UI交互逻辑。传统方式下,开发者需要手动创建控件、定义样式、绑定事件——这个过程不仅耗时,还容易出错。而现在&…...

终极指南:5步快速掌握VRChat动画工具,实现虚拟形象手势管理高效创作

终极指南:5步快速掌握VRChat动画工具,实现虚拟形象手势管理高效创作 【免费下载链接】VRC-Gesture-Manager A tool that will help you preview and edit your VRChat avatar animation directly in Unity. 项目地址: https://gitcode.com/gh_mirrors/…...

KDash高级使用教程:流式日志与资源描述完整指南

KDash高级使用教程:流式日志与资源描述完整指南 【免费下载链接】kdash A simple and fast dashboard for Kubernetes 项目地址: https://gitcode.com/gh_mirrors/kd/kdash KDash是一款简单快速的Kubernetes仪表盘工具,能够帮助用户轻松管理和监控…...

Fish Speech-1.5多终端适配:H5网页嵌入、Android SDK、iOS语音播放集成

Fish Speech-1.5多终端适配:H5网页嵌入、Android SDK、iOS语音播放集成 Fish Speech-1.5是一个让人惊艳的文本转语音模型,它基于超过100万小时的多语言音频数据训练而成,能生成非常自然、富有表现力的语音。通过Xinference(2.0.0…...

别再手动循环了!用Pandas的ewm函数一行代码搞定通达信/同花顺的SMA指标

量化分析实战:用Pandas向量化计算重构传统技术指标 在金融数据分析领域,技术指标的计算效率直接影响策略回测和实时交易系统的性能。许多从传统交易软件(如通达信、同花顺)转型Python的开发者,常常会不自觉地沿用循环计…...

Cesium架构深度解析:从核心层到动态场景的构建逻辑

1. Cesium框架的四大核心层级 第一次接触Cesium时,很多人会被它复杂的三维场景震撼到。但你可能不知道,这个看似庞大的系统其实是由四个精密的层级构成的。就像搭积木一样,每一层都有明确的职责,又与其他层级紧密配合。让我用一个…...

Kaf与云服务集成:AWS MSK IAM和Azure EventHub配置教程

Kaf与云服务集成:AWS MSK IAM和Azure EventHub配置教程 【免费下载链接】kaf Modern CLI for Apache Kafka, written in Go. 项目地址: https://gitcode.com/gh_mirrors/ka/kaf Kaf是一款用Go语言编写的现代Apache Kafka命令行工具,它提供了简洁高…...

Unity游戏开发:用Best MQTT v3插件搞定物联网通信,从配置到断线重连的完整实战

Unity游戏开发实战:用Best MQTT v3构建智能家居模拟游戏的物联网通信系统 想象一下这样一个场景:四位玩家在虚拟世界中协作管理一栋智能别墅,灯光亮度会随着现实时间的昼夜变化自动调节,空调温度由玩家投票决定,而安防…...

PCIe硬件电路设计实战:从金手指到PCB布局的全面解析

1. PCIe硬件电路设计基础入门 第一次接触PCIe硬件设计时,我被那些密密麻麻的金手指和复杂的差分对搞得头晕眼花。后来才发现,只要掌握几个核心概念,PCIe并没有想象中那么可怕。PCIe全称PCI-Express,是目前主板上最常见的高速串行总…...

春联生成模型-中文-base参数调优:temperature与top_p对春联风格影响分析

春联生成模型-中文-base参数调优:temperature与top_p对春联风格影响分析 春节贴春联,是咱们中国人传承千年的习俗。一副好春联,不仅要寓意吉祥,还得对仗工整、朗朗上口。现在,有了AI春联生成模型,输入“幸…...

C语言编程实战:从入门到精通的50道经典大题解析

1. C语言编程实战入门指南 刚接触C语言时&#xff0c;很多初学者会被指针、内存管理等概念吓到。其实C语言就像搭积木&#xff0c;掌握基础语法后就能构建复杂程序。我们先从最简单的"Hello World"开始&#xff1a; #include <stdio.h> int main() {printf(&qu…...

告别枯燥文档!用LVGL Switch控件5分钟打造一个智能家居控制面板

用LVGL Switch控件5分钟打造高颜值智能家居控制面板 在嵌入式开发中&#xff0c;GUI设计往往是最容易被忽视却又直接影响用户体验的环节。想象一下&#xff0c;当你按下智能灯的开关&#xff0c;一个丝滑的动画反馈立刻呈现&#xff0c;那种流畅的交互感会让整个产品档次瞬间提…...

RTSP拉流播放卡顿?从抓包分析到H264 RTP分片打包的避坑指南

RTSP拉流卡顿全链路诊断&#xff1a;从抓包分析到H264分片优化的实战指南 当视频监控系统的实时画面出现卡顿、花屏或延迟时&#xff0c;工程师往往需要像侦探一样逐层排查。本文将带您深入RTSP/RTP协议栈底层&#xff0c;通过Wireshark抓包分析、H264分片机制解析以及实战调优…...

Numpy随机数生成实战:从均匀分布到正态分布的应用解析

1. 为什么需要随机数生成&#xff1f; 在数据分析和机器学习领域&#xff0c;随机数生成就像厨师的调味料一样不可或缺。想象一下&#xff0c;如果你要测试一个新开发的推荐算法&#xff0c;但没有真实的用户行为数据怎么办&#xff1f;这时候随机数就能派上用场了。我经常用Nu…...

QT信号槽连接报错?手把手教你用static_cast解决重载信号问题(附QSpinBox/QComboBox实例)

QT信号槽连接报错&#xff1f;手把手教你用static_cast解决重载信号问题 刚接触QT信号槽机制时&#xff0c;遇到no matching member function for call to connect这类错误简直让人抓狂。特别是当你在IDE里看到红波浪线&#xff0c;却明明是按照文档写的连接语法&#xff0c;这…...

AI注释生成实战指南:5大工业级场景、3类错误避坑清单与实时调试技巧

第一章&#xff1a;2026奇点智能技术大会&#xff1a;AI注释生成 2026奇点智能技术大会(https://ml-summit.org) 核心突破&#xff1a;语义感知型注释生成引擎 大会首次公开演示了SAGE&#xff08;Semantic-Aware Generation Engine&#xff09;&#xff0c;一个支持跨语言、…...

【仅剩72小时公开】奇点大会独家披露:AI审查工具的“可信度衰减曲线”——上线第37天后误报率激增210%,你用的工具在第几天崩盘?

第一章&#xff1a;奇点大会“可信度衰减曲线”现象级发现与行业警讯 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点智能技术大会上&#xff0c;跨机构联合研究组首次系统性披露了模型输出可信度随推理步长呈指数级衰减的实证规律——即“可信度衰减曲线”&#x…...

生成式AI缓存预热机制:基于请求分布预测+动态热度衰减模型的实时预热引擎(已落地金融大模型平台)

第一章&#xff1a;生成式AI应用缓存预热机制 2026奇点智能技术大会(https://ml-summit.org) 在生成式AI服务高并发、低延迟的生产场景中&#xff0c;冷启动导致的首请求延迟&#xff08;如LLM推理响应超2s&#xff09;会显著劣化用户体验。缓存预热机制通过在服务上线前主动加…...

从实验室到千万级DAU,AI陪伴应用规模化落地的6大断层,SITS2026 12家头部厂商联合复盘数据全公开

第一章&#xff1a;从实验室到千万级DAU&#xff0c;AI陪伴应用规模化落地的6大断层&#xff0c;SITS2026 12家头部厂商联合复盘数据全公开 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026大会上&#xff0c;来自小冰、星野、Kimi Companion、讯飞星火助手、百度文…...

OpenSTA完整指南:3步掌握开源静态时序分析引擎的终极解决方案

OpenSTA完整指南&#xff1a;3步掌握开源静态时序分析引擎的终极解决方案 【免费下载链接】OpenSTA OpenSTA engine 项目地址: https://gitcode.com/gh_mirrors/op/OpenSTA OpenSTA是一款强大的开源门级静态时序验证工具&#xff0c;能够帮助芯片设计团队使用Verilog网表…...

给嵌入式新手的保姆级教程:用RT-Thread Studio从零点亮你的第一个STM32F407 LED灯

从零玩转RT-Thread&#xff1a;STM32F407点灯全流程实战指南 第一次接触嵌入式开发时&#xff0c;看着眼前这块布满芯片和接口的STM32开发板&#xff0c;我完全不知道从何下手。直到导师递给我一份RT-Thread Studio的安装包&#xff0c;说&#xff1a;"点亮LED是最简单的开…...

PyStand:Python独立部署环境的终极解决方案,5分钟完成Windows应用打包

PyStand&#xff1a;Python独立部署环境的终极解决方案&#xff0c;5分钟完成Windows应用打包 【免费下载链接】PyStand :rocket: Python Standalone Deploy Environment !! 项目地址: https://gitcode.com/gh_mirrors/py/PyStand 还在为Python程序分发烦恼吗&#xff1…...

AD20电源层与铺铜连接怎么选?热焊盘 vs 直接连接,看完这篇不再纠结

AD20电源层与铺铜连接设计指南&#xff1a;热焊盘与直接连接的科学选择 在多层PCB设计中&#xff0c;电源层和铺铜连接方式的选择直接影响着电路板的可靠性、散热性能和制造良率。面对AD20设计规则中"热焊盘(Relief Connect)"与"直接连接(Direct Connect)"…...

深入TI C2000系列:TMS320C28x CPU架构设计背后的故事与编程哲学

深入TI C2000系列&#xff1a;TMS320C28x CPU架构设计背后的故事与编程哲学 在数字信号处理器的演进历程中&#xff0c;德州仪器&#xff08;TI&#xff09;的C2000系列始终占据着独特地位。作为专为实时控制而优化的DSP架构&#xff0c;TMS320C28x内核的设计哲学体现了工程师在…...

终极Zotero格式化插件:3分钟让你的文献库焕然一新

终极Zotero格式化插件&#xff1a;3分钟让你的文献库焕然一新 【免费下载链接】zotero-format-metadata Linter for Zotero. A plugin for Zotero to format item metadata. Shortcut to set title rich text; set journal abbreviations, university places, and item languag…...