简单搭建redis哨兵集群

news2025/7/27 22:57:31

文章目录

  • 简单搭建redis哨兵集群
    • 配置参数说明
    • 配置部署哨兵集群
    • 检查哨兵状态
    • 其他配置
    • 踩坑记录


简单搭建redis哨兵集群

配置参数说明

sentinel monitor mymaster 10.0.0.4 6379 

指定对一个 master 的监控,给监控的 master 指定的一个名称。

sentinel down-after-milliseconds mymaster 60000

哨兵与 master 断开连接超过多少毫秒,就判定 master 主观宕机。

sentinel failover-timeout mymaster 180000

执行故障转移的超时时间。假设一个哨兵进行故障转移操作失败,在等待 failover-timeout 时间后,其他的哨兵会重新选举出一个进行故障转移操作。

sentinel parallel-syncs mymaster 1

主从切换后,同时有多少个 slave 被切换到去连接新 master,重新做同步。数字越小,花费的时间越多。

配置部署哨兵集群

  1. 创建 /etc/sentinel 文件夹,从 redis 安装目录下拷贝并重命名 sentinel.conf 文件为 5000.conf 到
    /etc/sentinel 目录下;
  2. 创建 /var/sentinel/5000 文件夹;
  3. 修改 5000.conf 配置文件部分内容,在 10.0.0.4,10.0.0.5,10.0.0.6,10.0.0.7 上执行如下所示操作,其中仅有 bind 需要修改为本机 IP:
port 5000
bind 10.0.0.4
dir /var/sentinel/5000
sentinel monitor mymaster 10.0.0.4 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
  1. 执行以下命令启动哨兵进程
redis-sentinel /etc/sentinal/5000.conf

在这里插入图片描述

检查哨兵状态

执行以下命令,查看哨兵状态:

redis-cli -h 10.0.0.4 -p 5000
[root@mq1 ~]# redis-cli -h 10.0.0.4 -p 5000
10.0.0.4:5000> sentinel master mymaster
 1) "name"
 2) "mymaster"
 3) "ip"
 4) "10.0.0.4"
 5) "port"
 6) "6379"
 7) "runid"
 8) "ec57362a7f568a1cbc48acf30c4130f7be0e4fb7"
 9) "flags"
10) "master"
11) "link-pending-commands"
12) "0"
13) "link-refcount"
14) "1"
15) "last-ping-sent"
16) "0"
17) "last-ok-ping-reply"
18) "652"
19) "last-ping-reply"
20) "652"
21) "down-after-milliseconds"
22) "30000"
23) "info-refresh"
24) "9809"
25) "role-reported"
26) "master"
27) "role-reported-time"
28) "411586"
29) "config-epoch"
30) "0"
31) "num-slaves"
32) "3"
33) "num-other-sentinels"
34) "3"
35) "quorum"
36) "2"
37) "failover-timeout"
38) "180000"
39) "parallel-syncs"
40) "1"
10.0.0.4:5000> sentinel slaves mymaster
1)  1) "name"
    2) "10.0.0.6:6379"
    3) "ip"
    4) "10.0.0.6"
    5) "port"
    6) "6379"
    7) "runid"
    8) "7e698379fefb12b303b5be1642ae0a6d7d3c7e1c"
    9) "flags"
   10) "slave"
   11) "link-pending-commands"
   12) "0"
   13) "link-refcount"
   14) "1"
   15) "last-ping-sent"
   16) "0"
   17) "last-ok-ping-reply"
   18) "14"
   19) "last-ping-reply"
   20) "14"
   21) "down-after-milliseconds"
   22) "30000"
   23) "info-refresh"
   24) "902"
   25) "role-reported"
   26) "slave"
   27) "role-reported-time"
   28) "432844"
   29) "master-link-down-time"
   30) "0"
   31) "master-link-status"
   32) "ok"
   33) "master-host"
   34) "10.0.0.4"
   35) "master-port"
   36) "6379"
   37) "slave-priority"
   38) "100"
   39) "slave-repl-offset"
   40) "128023"
2)  1) "name"
    2) "10.0.0.7:6379"
    3) "ip"
    4) "10.0.0.7"
    5) "port"
    6) "6379"
    7) "runid"
    8) "53c073e6eb00f3b3ee96ddf4f7ff5fd8e4d178d0"
    9) "flags"
   10) "slave"
   11) "link-pending-commands"
   12) "0"
   13) "link-refcount"
   14) "1"
   15) "last-ping-sent"
   16) "0"
   17) "last-ok-ping-reply"
   18) "14"
   19) "last-ping-reply"
   20) "14"
   21) "down-after-milliseconds"
   22) "30000"
   23) "info-refresh"
   24) "685"
   25) "role-reported"
   26) "slave"
   27) "role-reported-time"
   28) "432840"
   29) "master-link-down-time"
   30) "0"
   31) "master-link-status"
   32) "ok"
   33) "master-host"
   34) "10.0.0.4"
   35) "master-port"
   36) "6379"
   37) "slave-priority"
   38) "100"
   39) "slave-repl-offset"
   40) "128023"
3)  1) "name"
    2) "10.0.0.5:6379"
    3) "ip"
    4) "10.0.0.5"
    5) "port"
    6) "6379"
    7) "runid"
    8) "0060685b3f9ec71e5f5b166b19205f7b98ef5686"
    9) "flags"
   10) "slave"
   11) "link-pending-commands"
   12) "0"
   13) "link-refcount"
   14) "1"
   15) "last-ping-sent"
   16) "0"
   17) "last-ok-ping-reply"
   18) "14"
   19) "last-ping-reply"
   20) "14"
   21) "down-after-milliseconds"
   22) "30000"
   23) "info-refresh"
   24) "902"
   25) "role-reported"
   26) "slave"
   27) "role-reported-time"
   28) "432846"
   29) "master-link-down-time"
   30) "0"
   31) "master-link-status"
   32) "ok"
   33) "master-host"
   34) "10.0.0.4"
   35) "master-port"
   36) "6379"
   37) "slave-priority"
   38) "100"
   39) "slave-repl-offset"
   40) "128023"
10.0.0.4:5000> sentinel sentinels mymaster
1)  1) "name"
    2) "391453fb77847a564885f852135f8a3629788912"
    3) "ip"
    4) "10.0.0.6"
    5) "port"
    6) "5000"
    7) "runid"
    8) "391453fb77847a564885f852135f8a3629788912"
    9) "flags"
   10) "sentinel"
   11) "link-pending-commands"
   12) "0"
   13) "link-refcount"
   14) "1"
   15) "last-ping-sent"
   16) "0"
   17) "last-ok-ping-reply"
   18) "338"
   19) "last-ping-reply"
   20) "338"
   21) "down-after-milliseconds"
   22) "30000"
   23) "last-hello-message"
   24) "95"
   25) "voted-leader"
   26) "?"
   27) "voted-leader-epoch"
   28) "0"
2)  1) "name"
    2) "4448abe1ada002b7908ecb26a951391e2fb67808"
    3) "ip"
    4) "10.0.0.5"
    5) "port"
    6) "5000"
    7) "runid"
    8) "4448abe1ada002b7908ecb26a951391e2fb67808"
    9) "flags"
   10) "sentinel"
   11) "link-pending-commands"
   12) "0"
   13) "link-refcount"
   14) "1"
   15) "last-ping-sent"
   16) "0"
   17) "last-ok-ping-reply"
   18) "338"
   19) "last-ping-reply"
   20) "338"
   21) "down-after-milliseconds"
   22) "30000"
   23) "last-hello-message"
   24) "270"
   25) "voted-leader"
   26) "?"
   27) "voted-leader-epoch"
   28) "0"
3)  1) "name"
    2) "3007a4c9a6ab09bfecf3684985da8aa032a5dd46"
    3) "ip"
    4) "10.0.0.7"
    5) "port"
    6) "5000"
    7) "runid"
    8) "3007a4c9a6ab09bfecf3684985da8aa032a5dd46"
    9) "flags"
   10) "sentinel"
   11) "link-pending-commands"
   12) "0"
   13) "link-refcount"
   14) "1"
   15) "last-ping-sent"
   16) "0"
   17) "last-ok-ping-reply"
   18) "338"
   19) "last-ping-reply"
   20) "338"
   21) "down-after-milliseconds"
   22) "30000"
   23) "last-hello-message"
   24) "323"
   25) "voted-leader"
   26) "?"
   27) "voted-leader-epoch"
   28) "0"
10.0.0.4:5000> sentinel master mymaster
 1) "name"
 2) "mymaster"
 3) "ip"
 4) "10.0.0.4"
 5) "port"
 6) "6379"
 7) "runid"
 8) "ec57362a7f568a1cbc48acf30c4130f7be0e4fb7"
 9) "flags"
10) "master"
11) "link-pending-commands"
12) "0"
13) "link-refcount"
14) "1"
15) "last-ping-sent"
16) "0"
17) "last-ok-ping-reply"
18) "394"
19) "last-ping-reply"
20) "394"
21) "down-after-milliseconds"
22) "30000"
23) "info-refresh"
24) "3866"
25) "role-reported"
26) "master"
27) "role-reported-time"
28) "94293"
29) "config-epoch"
30) "0"
31) "num-slaves"
32) "3"
33) "num-other-sentinels"
34) "3"
35) "quorum"
36) "2"
37) "failover-timeout"
38) "180000"
39) "parallel-syncs"
40) "1"

其中,sentinel master mymaster 是查看 master 哨兵状态,sentinel slaves mymaster 是查看 slave 哨兵状态,sentinel sentinels mymaster是查看哨兵集群状态。

其他配置

  • 配置哨兵后台启动:需修改配置文件中的 daemonize 为 yes,然后重启哨兵。
  • 设置哨兵开机自启:修改启动脚本 redis_6379,修改内容如下图所示:
    在这里插入图片描述

踩坑记录

  1. 哨兵启动出现 +sdown master mymaster 10.0.0.4
    因为 redis 设置了节点认证,所以此时在哨兵里面也是需要配置,即在哨兵配置文件中添加
    sentinel auth-pass mymaster 【redis 认证密码】。
  2. ‘sentinel auth-pass mymaster redis-pass’ No such master with specified name
    因为 sentinel auth-pass mymaster redis-pass 要配置在 sentinel monitor mymaster 10.0.0.4 6379 2 后,否则哨兵启动报如上错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu配置NFS服务器(Linux挂载Linux)

Ubuntu配置NFS服务器 服务器端的配置 Ubuntu安装NFS服务器端 sudo apt-get install nfs-kernel-server服务端查看版本 nfsstat -s在桌面上创建共享目录 mkdir share修改/etc/export配置文件,在后面添加如下语句 /home/xxx/桌面/share *(rw,sync,no_root_squas…

Java异常处理机制

文章目录异常的概念引入的小例子基本概念异常体系图常见异常分类常见的运行时异常编译异常异常处理try-catch-finallythrows小练习自定义异常自定义异常的步骤throw与throws练习题异常的概念 引入的小例子 public class Exception01 {public static void main(String[] args)…

如何在图片上添加水印?快把这些方法收好

相信有些小伙伴经常会在网络上,分享自己拍摄的图片吧。那大家是否有遇到过发布的图片,被其他人盗用,并在其它平台上发布的情况呢?其实我们可以在图片上添加上个人水印,这样子就可以有效减少图片被人盗用的情况。那你们…

【springboot】20、Spring Boot 整合 MyBatis

文章目录基本介绍1、引入相关依赖2、数据库基本配置3、编写mapper接口和映射文件4、指定Mapper文件的位置5、测试总结基本介绍 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果…

英伟达RTX 4080正式发布!这一波是谁赢麻了?

在RTX40系列发布之前,我一直以为今年经济不行,直到看到大家抢购4090的样子,才发现只有我的经济不行。 距离英伟达 RTX 4090显卡的发布已经过去了一个月,40系列家族又出一员大将——英伟达 RTX 4080,公版定价9499在上市…

什么是RC低通滤波电路

滤波电路顾名思义就是滤除不需要的信号,保留需要的信号, 其中无源RC滤波电路要数最简单的滤波电路了。 电路图的话大家加可以看下,包含一个电阻和电容。 低通的话就是频率低的信号可以无衰减的通过,频率高得信号会产生衰减&#…

主成分分析(机器学习)

目录 主成分分析(PCA)是最常用的线性降维方法 设有m条n维数据,PCA的一般步骤如下 主成分分析(PCA)是最常用的线性降维方法 它的目标是通过某种线性投影,将高维的数据映射到低维的空间中 并期望在所投影的…

如何使用Docker搭建ES集群

1、配置虚拟机 1.1、设置内存 将虚拟机内存设置为4G,内存太小可能导致某个ES节点无法正常运行; 1.2、修改limits.conf limits.conf文件可以设置用户最大可创建文件的数量 a、执行vi /etc/security/limits.conf命令—>文件末尾添加如下内容&#…

计算机毕业设计ssm+vue+elementUI 基于vue的消防物资存储系统

项目介绍 无论是什么行业物资存储都是一个非常重要的内容,只有有了这些良好的物资存储,才能够为后续的工作开展提供便利。消防是一个关系到人民群众安全的工作,所以在消防相关方面的物资存储也是非常重要的内容。为了能够更好的管理好消防相…

电压放大器如何选择型号规格(电压放大器选型标准)

电压放大器是搭配信号发生器来组合使用的电子仪器,使用时通过简单的设备连接,就能拓展信号源的输入电压幅度范围。高电压放大器的快速响应不仅是表现在功率放大器的宽带和压摆率等参数上,同时还和最大输出电流以及负载的电容特性有关系。下面…

48-安装软件并管理服务

48-安装软件并管理服务RPM的概念和操作命令RPM软件包管理RPM软件包管理优缺点RPM命令常用参数DNF的该您概念和操作命令DNF工具的产生DNF工具概述DNF管理软件包DNF-软件源服务DNF配置文件-/etc/dnf/dnf.conf配置DNF-修改配置参数创建本地软件源仓库添加软件源启用和禁用软件源管…

BFS广度优先

题目描述如下: 使用邻接矩阵实现BFS: 输入 8,10 1 2 3 4 5 6 7 8 1,2 1,5 2,6 3,6 3,4 3,7 4,7 4,8 6,7 7,8 2 输出 请输入顶点数和边数:请输入顶点本身的数据: 请输入边的数据: 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 0…

Winsoft Office Component Suite

Winsoft Office Component Suite Winsoft Office组件套件是由Winsoft发布的海豚和CBuilder公司的集合。这些计算机可用于在microsoft office集合中实现自动化和自动操作。从2010年到2019年,这些活动几乎支持了Office的所有现代版本,并提供了两种软件和氧…

掌控安全学院SOL注入靶场

掌控安全学院SOL注入靶场靶场地址Pass-01 显错注入Pass-02Pass-03Pass-04Pass-05 POST注入Pass-06Pass-07 Head注入Pass-08Pass-09Pass-10 布尔盲注Pass-11Pass-12Pass-13 延时注入Pass-14Pass-15 宽字节注入Pass-16Pass-17总结靶场地址 http://inject2.lab.aqlab.cn Pass-01…

[Python] Django ORM与执行原生SQL实现操作数据库

前言 系列文章目录 [Python]目录 文章目录前言🍉 ORM🍉 shell🍉 模型类与数据的准备🍒 模型类🍒 数据🍉 查询数据🍒 查询集🍓 查询集的特性🍎 惰性执行🍎 缓存…

PDF文件如何设置密码保护?

接近年底,各种总结报告越来越多,很多时候我们都会将报告做成PDF文件格式,对于重要的内容,往往还需要设置密码保护。 根据不同的需要,可以给PDF文件设置两种保护模式。 如果文件内容只分享给特定的人看,不…

qt调用python脚本中的函数

开发环境: qt 5.9.9 vs2015 python 3.6 例程下载: qt调用python脚本例程.rar 步骤一:创建python脚本文件 创建文本文件myPythonFile.py,内容如下: 步骤二:创建qt widget测试例程并运行 新建qt wi…

请不要忽略软件测试的业务能力

在日常的测试工作中,不知道大家是否会有梳理自己测试业务的习惯。我个人觉得这个事情是值得做的,最好还可以培养成一个习惯。一、为什么要梳理业务?因为在业务测试中,作为测试人员,熟悉负责的业务是非常重要的&#xf…

ats 6.2.3中diags.log日志滚存遇到的assert崩溃问题并解决

现在线上ats 6.2.3现在都开启了diags.log日志回滚的功能,采用下面的配置方法 CONFIG proxy.config.diags.logfile.rolling_enabled INT 3 CONFIG proxy.config.diags.logfile.rolling_interval_sec INT 86400 CONFIG proxy.config.diags.logfile.rolling_size_mb…

Web前端——立体相册的制作

文章目录笔记&#xff1a;CSS的特殊样式作业&#xff1a;用CSS的特殊样式制作立体相册笔记&#xff1a;CSS的特殊样式 media查询 常⽤于响应式布局&#xff0c;是⽬前使⽤最多的适配⻚⾯的技术。他会根据⻚⾯的尺⼨的不同&#xff0c;⽽是⽤不同的样式。 <style>media…