Redis哨兵模式搭建

news/2025/3/5 11:07:12/

以下配置机器部署ip为 a、b、c,其中a为master节点

需提前创建 /app/user/oms/redis/data 目录

1.1上传 redis-5.0.5.zip 到对应目录,解压

unzip redis-5.0.5.zip  # 生成 redis-5.0.5 目录

1.2 修改配置文件 

maxclients 10000   #20000 ,如果连接数不够用,修改此参数,默认为 10000

1.2.1 redis.conf (redis服务)

1.2.1.1 Master 节点(a)

port 6379 #端口

daemonize yes #后台运行

pidfile /app/user/oms/redis/redis_6379.pid #pidfile

logfile "/app/user/oms/redis/redis6379.log" #log 日志

dbfilename dump-6379.rdb #db名称

dir /app/user/oms/redis/data   # 也可指定其他目录,前提要有当前用户权限

requirepass 123456 #连接密码

#master节点设置该属性后,所有redis节点均需配masterauth属性

masterauth 123456  

bind 0.0.0.0   #bind 也可以配成本机 ip 地址

protected-mode no

1.2.1.2 Slave 节点(slave节点共两台,b、c)

port 6379 #端口

daemonize yes #后台运行

pidfile /app/user/oms/redis/redis_6379.pid #pidfile

logfile "/app/user/oms/redis/redis6379.log" #log 日志

dbfilename dump-6379.rdb #db名称

dir /app/user/oms/redis/data   # 也可指定其他目录,前提要有当前用户权限

requirepass 123456 #连接密码

#master节点设置该属性后,所有redis节点均需配masterauth属性

masterauth 123456  

bind b   #bind 当前服务器 ip 地址

protected-mode no

slaveof b 6379 #master 节点标识

1.2.2 sentinel.conf (哨兵服务 sentinel)

port 26379 #端口

daemonize yes #后台运行

protected-mode no #关闭保护模式

pidfile /var/run/redis_26379.pid #pidfile

logfile "redis26379.log" #log 日志

dir /app/user/oms/redis/data

sentinel monitor mymaster a 6379 2   #监控地址,哨兵名称

sentinel auth-pass mymaster 123456  #认证密码,redis.conf 配置后需要配置

sentinel down-after-milliseconds mymaster 30000  #失效时间,30s

sentinel parallel-syncs mymaster 1 #

sentinel failover-timeout mymaster 180000 #

1.3启动redis服务

1.3.1执行启动命令

cd redis-5.0.5/src

./redis-server ../redis.conf  >/dev/null 2>&1 & 

1.3.2验证主从关系

cd redis-5.0.5/src

./redis-cli -h a -p 6379 -a 123456 info replication

#-h 指定ip节点,-p 指定端口号,-a 指定认证密码

以下为master节点信息

正在上传…重新上传取消

以下为slave节点信息

正在上传…重新上传取消

1.4启动sentinel服务

1.4.1执行启动命令

哨兵模式不需要后台运行,默认后台运行

cd redis-5.0.5/src

./redis-sentinel ../sentinel.conf

1.4.2验证哨兵节点

cd redis-5.0.5/src

./redis-cli -h a -p 26379 info Sentinel

正在上传…重新上传取消

1.5验证高可用

验证场景

  1. 将master节点主进程杀掉,查看其它节点中一台是否可以切换到 master
  2. 重启该节点,查看是否由 master 切换到 slave

杀掉 master 节点 redis 服务,如下

正在上传…重新上传取消

查看其中一台机器redis服务由 slave 切换为 master (c),另外一台仍为 slave

正在上传…重新上传取消

正在上传…重新上传取消

重启该机器redis服务后,查看节点信息,由 master 切换为 slave(a)


http://www.ppmy.cn/news/11125.html

相关文章

MATLAB-样条插值运算

MATLAB中不仅提供了一维插值、二维插值和三维插值方法,还提供了样条插值的方法。其主要思想是:假定有一组已知的数据点,希望找到该组数据的拟合多项式。在多项式的拟合过程中,对于每组相邻的样本数据点,存在一条曲线,该…

jvm运行过程

VM是Java程序运行的环境,同时是一个操作系统的一个应用程序进程,因此它有自己的生命周期,也有自己的代码和数据空间. JVM体系主要是两个JVM的内部体系结构分为三个子系统和两大组件,分别是:类装载器(ClassLoader)子系统、执行引擎…

仿抖音视频双指缩放和单指滑动效果

最近刷抖音看视频时,对一个视频某个位置比较感兴趣,采用双指放大查看细节,然后还可以随意滑动到任何位置,比较感兴趣,决定自己来实现此效果;分析效果:ViewPager左右滑动,视频列表上下…

FFmpeg功能命令汇总

前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流、更改音视频参数功能等。通过终端命令如何实现这些功能,Richy在本文做一记录,以备之后查阅。 注意:下面一一列举…

Linux常用命令——nethogs命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) nethogs 终端下的网络流量监控工具 补充说明 有很多适用于Linux系统的开源网络监视工具。比如说,你可以用命令iftop来检查带宽使用情况。netstat用来查看接口统计报告,还有top监控系统当…

【自学Python】Python input()函数

Python input()函数 Python input()函数教程 在 Python 中,input() 函数用于获取用于的输入,并给出提示。input() 函数,总是返回 string 类型,因此,我们可以使用 input() 函数,获取用户输入的任何数据类型…

Python3,我把新年祝福写在“雨“中,你看,雨一直下,气氛还算融洽,在同个屋檐下....

新年愿望写在"雨"中1、引言2、代码实战2.1 模块介绍2.1.1 Pygame 介绍2.1.2 Pygame的display介绍2.1.3 Pygame的event介绍2.1.4 Pygame的font介绍2.2 代码示例3、总结1、引言 小屌丝:鱼哥,2023年了, 你有啥愿望啊? 小鱼…

大一计算机新生,感觉什么都学不会怎么办?

虽然今天什么都没做,但是还是辛苦我了。。。刚开始难是正常现象,可以先梳理一下 计算基础基础很重要,实践为上 计算机组成与原理、数据结构、计算机网络、操作系统、编程语言 书看得越多,其实你越能找到自己的方向,一…