Redis组建哨兵模式

主172.17.60.131

从172.17.60.130、172.17.60.129

redis部署

[root@localhost app]# tar xf redis-6.2.9.tar.gz

[root@localhost app]# cd redis-6.2.9/

[root@localhost redis-6.2.9]# make MALLOC=libc

[root@localhost redis-6.2.9]# make install PREFIX=/usr/local/redis

# 进入 Redis 的主目录
cd /usr/local/redis/# 创建工作目录 tmp
mkdir tmp# 创建日志目录 log
mkdir log# 编辑 Redis 配置
vim redis.conf# 编辑哨兵配置
vim sentinel.conf

主节点131-redis.conf:

# 表示redis允许所有地址连接。默认127.0.0.1,仅允许本地连接。
bind 0.0.0.0# 允许redis后台运行
daemonize yes# 设置redis日志存放路径
logfile "/usr/local/redis/log/redis.log"# 设置为no,允许外部网络访问
protected-mode no# 修改redis监听端口(可以自定义)
port 6379# pid存放目录
pidfile "/var/run/redis_6379.pid"# 工作目录,需要创建好目录,可自定义
dir "/usr/local/redis/tmp"# 设置redis密码
requirepass "password"# 主从同步master的密码
masterauth "password"

从节点129和130-redis.conf:

# 表示redis允许所有地址连接。默认127.0.0.1,仅允许本地连接。
bind 0.0.0.0# 允许redis后台运行
daemonize yes# 设置redis日志存放路径
logfile "/usr/local/redis/log/redis.log"# 设置为no,允许外部网络访问
protected-mode no# 修改redis监听端口(可以自定义)
port 6379# pid存放目录
pidfile "/var/run/redis_6379.pid"# 工作目录,需要创建好目录,可自定义
dir "/usr/local/redis/tmp"# 设置redis密码
requirepass "password"# 主从同步master的密码
masterauth "password"# 多了这一行,用于追随某个节点的redis,被追随的节点为主节点,追随的为从节点,Redis5.0前版本可使用slaveof
replicaof 172.17.60.131 6379

所有节点-sentinel.conf:

# 修改Sentinel监听端口
port 26379# 允许Sentinel后台运行
daemonize yes# 设置Sentinel日志存放路径
logfile "/usr/local/redis/log/sentinel.log"# 工作目录,需要创建好目录,可自定义
dir "/usr/local/redis/tmp"# Sentinel 监听 redis 主节点, mymaster:master名称可自定义,127.0.0.1 6379 :redis主节点IP和端口,2 :表示多少个Sentinel认为redis主节点失效时,才算真正失效
sentinel monitor mymaster 172.17.60.131 6379 2# 配置失效时间,master会被这个sentinel主观地认为是不可用的,单位毫秒
sentinel down-after-milliseconds mymaster 10000# 若sentinel在该配置值内未能完成master/slave自动切换,则认为本次failover失败。
sentinel failover-timeout mymaster 60000# 在发生failover主备切换时最多可以有多少个slave同时对新的master进行同步。
sentinel parallel-syncs mymaster 2# 设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码应该设置相同
sentinel auth-pass mymaster password

先启动redis-server,主->从:

[root@localhost bin]# ./redis-server redis.conf[root@localhost bin]# ./redis-cli127.0.0.1:6379> auth passwordOK127.0.0.1:6379> info replication# Replicationrole:masterconnected_slaves:2slave0:ip=172.17.60.130,port=6379,state=online,offset=453292,lag=0slave1:ip=172.17.60.129,port=6379,state=online,offset=453151,lag=1master_failover_state:no-failovermaster_replid:925019c35af42325afa5e3a1bd38957ad1bf7432master_replid2:f090ed5937de77bc74d32ef37e38ba0aefd4b797master_repl_offset:453292second_repl_offset:279938repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:253944repl_backlog_histlen:199349

再启动redis-sentinel:

[root@localhost bin]# ./redis-sentinel sentinel.conf[root@localhost bin]# ./redis-cli -h 172.17.60.131 -p 26379 info sentinel# Sentinelsentinel_masters:1sentinel_tilt:0sentinel_running_scripts:0sentinel_scripts_queue_length:0sentinel_simulate_failure_flags:0master0:name=mymaster,status=ok,address=172.17.60.131:6379,slaves=2,sentinels=3

主节点宕机测试

先模拟一下挂掉 redis 主节点。

  1. 使用 ps -ef | grep redis 找到 redis 主节点对应的进程 id
  2. 使用 kill -9 xxx 杀掉 redis 主节点 id

master地址发生了改变:

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

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

相关文章

Docker 中查看及修改 Redis 容器密码的实用指南

在使用 Docker 部署 Redis 容器时,有时我们需要查看或修改 Redis 的密码。本文将详细介绍如何在 Docker 中查看和修改 Redis 容器的密码,帮助你更好地管理和维护你的 Redis 实例。 一、查看 Redis 容器密码 通常在启动 Redis 容器时,我们会…

构建LangChain应用程序的示例代码:56、如何实现一个多智能体模拟,其中没有固定的发言顺序。智能体自行决定谁来发言,通过竞价机制实现

多智能体分散式发言人选择 示例展示了如何实现一个多智能体模拟,其中没有固定的发言顺序。智能体自行决定谁来发言,通过竞价机制实现。 我们将在下面的示例中展示一场虚构的总统辩论来演示这一过程。 导入LangChain相关模块 from typing import Callable, Listimport tenac…

正向代理反向代理

nginx的正向代理和反向代理: 正向代理以及缓存配置: 代理:客户端不再是直接访问服务端,通过代理服务器访问服务端。 正向代理:面向客户端,通过代理服务器的ip地址访问目标服务端 服务端只知道代理服务器的地址,真正的客户端ip可以…

【MySQL系列】隐式转换

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

ctfshow web入门 nodejs

web334 有个文件下载之后改后缀为zip加压就可以得到两个文件 一个文件类似于index.php 还有一个就是登录密码登录成功就有flag username:ctfshow password:123456因为 return name!CTFSHOW && item.username name.toUpperCase() && item.password passwor…

产科管理系统 专科电子病历系统源码,前后端分离架构,多家医院产科广泛运用,系统稳定,功能齐全

产科管理系统 专科电子病历系统源码,前后端分离架构,多家医院产科广泛运用,系统稳定,功能齐全 产科管理系统,特别是产科信息管理系统(Obstetrical Information Management System,简称OIMS&…

智能井盖监测系统:守护城市安全的新防线

​ ​​在快速发展的现代都市中,井盖作为连接地上与地下世界的“隐形门”,其安全状态直接关系到市民的生命财产安全。随着物联网、大数据及人工智能技术的飞速发展,智能井盖监测系统的出现为解决传统井盖管理难题提供了创新方案&#xff0…

【算法笔记自学】入门篇(2)——算法初步

4.1排序 自己写的题解 #include <stdio.h> #include <stdlib.h>void selectSort(int A[], int n) {for(int i 0; i < n - 1; i) { // 修正索引范围int k i;for(int j i 1; j < n; j) { // 修正索引范围if(A[j] < A[k]) {k j;}}if (k ! i) { // 仅在…

跨境人最怕的封店要怎么规避?

跨境人最怕的是什么&#xff1f;——封店 造成封店的原因很多&#xff0c;IP关联、无版权售卖、虚假发货等等&#xff0c;其中IP关联这个问题导致店铺被封在跨境商家中简直是屡见不鲜 IP关联&#xff0c;是指被海外平台检测到多家店铺开设在同一个站点上的情况。我们知道有些…

卖家必读:阿里巴巴国际站登录与入驻全流程

阿里巴巴国际站作为全球最大的B2B电子商务平台之一&#xff0c;为品牌建立和业务拓展提供了可能。那么跨境卖家如何才能成功登录和入驻阿里巴巴国际站&#xff1f;本文将讲解如何用阿里巴巴国际站网页版进行登录&#xff0c;以及阿里巴巴国际站卖家的入驻条件、流程和费用。此外…

统计信号处理基础 习题解答11-12

题目 证明 的MAP估计量为 其中是一个的矢量, 是一个可逆的p*p的矩阵。也就是说&#xff0c;MAP估计量对可逆的线性变换是可以变换的。 解答 已知的联合概率密度 且&#xff1a; 现在知道&#xff1a; 那么为了获得变换后的MAP&#xff0c;首先需要根据求出 根据概率密度变换…

2024年软件测试面试题,精选100+,附答案+文档

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 Part1 1、你的测试职业发展是什么&#xff1f; 测试经验越多&#xff0c;测试能力越高。所以我…

C++入门 容器适配器 / stack queue模拟实现

目录 容器适配器 deque的原理介绍 stack模拟实现 queue模拟实现 priority_queue模拟实现 仿函数 容器适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总 结)&#xff0c;该种模式是将一个类的接口转换成客户希望…

深度学习Week19——学习残差网络和ResNet50V2算法

文章目录 深度学习Week18——学习残差网络和ResNet50V2算法 一、前言 二、我的环境 三、论文解读 3.1 预激活设计 3.2 残差单元结构 四、模型复现 4.1 Residual Block 4.2 堆叠Residual Block 4.3. ResNet50V2架构复现 一、前言 &#x1f368; 本文为&#x1f517;365天深度学…

Kubernetes k8s 命名空间 namespace 介绍以及应用 资源限额配置

目录 命名空间 什么是命名空间&#xff1f; namespace应用场景 namespacs使用案例分享 namespace资源限额 文档中的YAML文件配置直接复制粘贴可能存在格式错误&#xff0c;故实验中所需要的YAML文件以及本地包均打包至网盘 链接&#xff1a;https://pan.baidu.com/s/1qv8Tc…

Python中异步事件触发

1、问题背景 在Python中&#xff0c;我想创建一个由事件生成控制流程的类结构。为此&#xff0c;我做了以下工作&#xff1a; class MyEvent: EventName_FunctionName {}classmethoddef setup(cls, notificationname, functionname):if notificationname in MyEvent.EventN…

ONLYOFFICE 8.1版本震撼来袭,让办公更高效、更智能

官网链接&#xff1a; 在线PDF查看器和转换器 | ONLYOFFICE 在线办公套件 | ONLYOFFICE 随着科技的不断发展&#xff0c;办公软件已经成为现代企业提高工作效率、实现信息共享的重要工具。在我国&#xff0c;一款名为ONLYOFFICE的在线办公套件受到了越来越多企业的青睐。今天…

golang中的类型转换那些事

由于golang是一门强类型的语言&#xff0c; 所以我们在golang的开发中不可避免的会对一些数据类型进行手动转换&#xff0c;以适应我们的业务需求。 golang中类型转换的途径大致有4种&#xff0c;强制转换&#xff0c;类型断言&#xff0c;类型匹配 还有使用strconv包中提供的…

[TensorFlow-Lite][深度学习]【快速简介-1】

前言&#xff1a; 很多场景下面我们需要需要把我们的深度学习模型部署到Android,IOS 手机上面. Google 通过TensorFlow Lite 提供了对应的解决方案. 目录&#xff1a; 端侧部署优点 硬件支持 性能 应用案例 一 端侧部署优点 1; 很多场景下面&#xff1a; 无网络,数据无法…

Hadoop 远程 debug

Hadoop 命令行 在执行 hadoop fs 命令行之前&#xff0c;先执行以下命令&#xff1a; export HADOOP_CLIENT_OPTS"-Xdebug -Xrunjdwp:transportdt_socket,servery,suspendy,address8000"