redis哨兵搭建_主从复制高可用解决方案

redis哨兵搭建_主从复制高可用解决方案

redis集群搭建_亲自操作

Redis哨兵-实现Redis高可用

Redis Sentinel为Redis提供了高可用解决方案。实际上这意味着使用Sentinel可以部署一套Redis,在没有人为干预的情况下去应付各种各样的失败事件。

Redis Sentinel同时提供了一些其他的功能,例如:监控、通知、并为client提供配置。

下面是Sentinel的功能列表:

  • 监控(Monitoring):Sentinel不断的去检查你的主从实例是否按照预期在工作。

  • 通知(Notification):Sentinel可以通过一个api来通知系统管理员或者另外的应用程序,被监控的Redis实例有一些问题。

  • 自动故障转移(Automatic failover):如果一个主节点没有按照预期工作,Sentinel会开始故障转移过程,把一个从节点提升为主节点,并重新配置其他的从节点使用新的主节点,使用Redis服务的应用程序在连接的时候也被通知新的地址。

  • 配置提供者(Configuration provider):Sentinel给客户端的服务发现提供来源:对于一个给定的服务,客户端连接到Sentinels来寻找当前主节点的地址。当故障转移发生的时候,Sentinels将报告新的地址。

linux下安装redis

mkdir -pv /data/software
cd /data/software/wget http://download.redis.io/releases/redis-5.0.3.tar.gztar -zxvf redis-5.0.3.tar.gzmkdir -pv /data/appsmv redis-5.0.3 /data/appscd /data/apps/redis-5.0.3
makesrc/redis-server #启动redis服务src/redis-cli 连接redis 和 操作redis> set foo bar
OK
redis> get foo
"bar"

哨兵搭建 1主2从

主节点master 8000配置如下
mkdir 8000cp redis.conf 8000/redis.conf#修改配置
vim 8000/redis.conf#bind 127.0.0.1 #可以远程访问
protected-mode no #保护模式关闭
daemonize yes #后台启动
port 8000pidfile /var/run/redis_8000.pid
logfile "/data/redis-cluster/8000/8000.log"
dbfilename dump.rdbdir /data/redis-cluster/8000/
appendonly yes #aof日志开启  有需要就开启,它会每次写操作都记录一条日志
appendfilename "appendonly8000.aof"masterauth abcd_123
requirepass abcd_123打开redis的key过期监听提醒
notify-keyspace-events Ex
注释
#notify-keyspace-events ""-----------------------------------------------
从节点8001配置如下
mkdir 8001cp redis.conf 8001/redis.conf#修改配置
vim 8001/redis.conf#bind 127.0.0.1 #可以远程访问
protected-mode no #保护模式关闭
daemonize yes #后台启动
port 8001pidfile /var/run/redis_8001.pid
logfile "/data/redis-cluster/8001/8001.log"
dbfilename dump.rdbdir /data/redis-cluster/8001/
appendonly yes #aof日志开启  有需要就开启,它会每次写操作都记录一条日志
appendfilename "appendonly8001.aof"replicaof 192.168.1.179 8000 # 主服务这句话注释,从服务配置的两台需要开启。配置主服务的ip的port 用外网ip或内网,不要用127.0.0.1#redis5.0以后 将配置指令也从 slaveof 更改为 replicaof #为 SLAVEOF 提供别名 REPLICAOF,所以仍然可以使用 SLAVEOF,但多了一个选项masterauth abcd_123
requirepass abcd_123打开redis的key过期监听提醒
notify-keyspace-events Ex
注释
#notify-keyspace-events ""---------------------------------------------------
从节点8002配置 和8001节点配置差不多

启动redis

#分别启动三台redis
redis-5.0.5/src/redis-server 8000/redis.conf
redis-5.0.5/src/redis-server 8001/redis.conf
redis-5.0.5/src/redis-server 8002/redis.confhttps://www.cnblogs.com/web369/articles/8662036.html
查看主从状态信息
./redis-cli -h 192.168.1.179 -p 8000 -a abcd_123 
./redis-cli -h 192.168.1.179 -p 8001 -a abcd_123
info replication

哨兵配置

哨兵配置 sentinel.conf 文件
cp redis-5.0.5/sentinel.conf 8000/vim 8000/sentinel.conf 
protected-mode no
port 28000
daemonize yes
pidfile /var/run/redis-sentinel28000.pid
logfile "/data/redis-cluster/8000/28000.log"
dir /data/redis-cluster/8000sentinel monitor mymaster 192.168.1.179 8000 2 #程序需要配置,用程序能访问的ip和端口,不要用127.0.0.1
sentinel auth-pass mymaster abcd_123
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yescp 8000/sentinel.conf 8001/
cp 8000/sentinel.conf 8002/
修改对应端口和配置启动redis-sentinel进程redis-5.0.5/src/redis-sentinel 8000/sentinel.conf redis-5.0.5/src/redis-sentinel 8001/sentinel.conf redis-5.0.5/src/redis-sentinel 8002/sentinel.conf 查看主从状态信息
./redis-cli -h 192.168.1.179 -p 8000 -a abcd_123 
info replication

参考链接:
https://www.cnblogs.com/ibethfy/p/9965902.html
https://www.jianshu.com/p/e586137c5a19

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

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

相关文章

Vivado sdk 20:41:22 ERROR : Error occurred while creating hardware platform错误

20:41:22 ERROR : Error occurred while creating hardware platform adrv9009_hw_platform_0 from sysdef java.io.FileNotFoundException: D:\workspace\project2024\project\adrvxxxx (拒绝访问。) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputSt…

OpenHarmony实战:标准系统移植指南

本文描述了移植一块开发板的通用步骤,和具体芯片相关的详细移植过程无法在此一一列举。后续社区还会陆续发布开发板移植的实例供开发者参考。 定义开发板 本文以移植名为MyProduct的开发板为例讲解移植过程,假定MyProduct是MyProductVendor公司的开发板…

RC滤波电路

RC滤波电路 综述:本文简单讲述了RC低通滤波电路和RC高通滤波电路。 滤波电路是指过滤输入信号中不需要的信号,保留需要的信号。 一、RC低通滤波电路 1.定义:RC低通滤波电路:保留低频信号,衰减高频信号。 2.截止频率…

突破校园网限速:使用 iKuai 多拨分流负载均衡 + Clash 代理(内网带宽限制通用)

文章目录 1. 简介2. iKuai 部署2.1 安装 VMware2.2 安装 iKuai(1) 下载固件(2) 安装 iKuai 虚拟机(3) 配置 iKuai 虚拟机(4) 配置 iKuai(5) 配置多拨分流 2.3 测试速度 3. Clash 部署3.1 准备工作(1) 配置磁盘分区(2) 安装 Docker(3) 安装 Clash(4) 设置代理 1. 简介 由于博主…

014——超声波模块驱动开发Plus(基于I.MX6uLL、SR04和poll机制)

目录 一、基础知识 二、分析为什么打印会影响中断 三、驱动程序 四、应用程序 五、验证及其它 一、基础知识 013——超声波模块驱动开发(基于I.MX6uLL与SR04)-CSDN博客 二、分析为什么打印会影响中断 asmlinkage __visible int printk(const ch…

Vue的双向绑定v-model详细介绍

使用: 比如用户在登录注册时需要提交账号密码; 比如用户创建,更新时,需要提交一些数据; v-model指令可以在表单 input、textarea以及select元素上创建双向绑定; 它会根据控件类型自动选取正确的方法来更…

一条SQL查询语句是如何执行的

这是专栏的第一篇文章,我想来跟你聊聊 MySQL 的基础架构。我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于 MySQL 的学习也是这样。平时我们使用数据库&a…

Windows11安装MySql-8.0.36安装详细教程(保姆级教程)

之前一直用的mysql5.7,最近导入一个项目一直报错,经查阅发现数据库mysql版本太老,今天特地重头下载安装配置一下,做个记录供大家参考。 下载安装包: 下载地址:https://dev.mysql.com/downloads/ 进入后选…

【linux】公共服务器如何清理过多的.cache缓存

【linux】公共服务器如何清理过多的.cache缓存. 【先赞后看养成习惯】求关注+点赞+收藏😀 问题叙述:用的公共服务器,管理员反映.cache缓存过大,让我清理一下 .cache介绍:在Linux系统中,.cache目录通常用于存储应用程序运行时生成的缓存文件。这些文件包括临时文件、预览…

C++STL--排序算法

sort 使用快速排序,平均性能好O(nlogn),但最差情况可能很差O(n^2)。不稳定。 sort(v.begin(),v.end());//对v容器进行排序,默认升序 sort(v.begin(),v.end(),greater<int>());//降序排序对于支持随机访问的迭代器的容器&#xff0c; 都可以利用sort算法直接对其进行排序…

滑动窗口算法 - LC76 最小覆盖子串

接上文滑窗基础题&#xff1a;滑动窗口算法 - LC3 无重复字符的最长子串-CSDN博客&#xff0c;介绍了滑窗的基础题目和滑窗解法模板&#xff0c;这次带来滑窗进阶题解。 76. 最小覆盖子串 困难 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果…

基于SSM的师生交流平台

目录 背景 技术简介 系统简介 界面预览 背景 传统的师生互动平台主要依赖于面对面的线下交流&#xff0c;用户必须亲自到场以获取和交流相关信息。然而&#xff0c;随着信息技术的广泛传播&#xff0c;众多教育机构开始转向线上发展&#xff0c;寻求更多样化的发展途径。线…

day17-二叉树part04

110.平衡二叉树 &#xff08;优先掌握递归&#xff09;后序遍历 左右中 class Solution {public boolean isBalanced(TreeNode root) {return getHeight(root) ! -1;}//递归三部曲 确定方法的参数与返回值private int getHeight(TreeNode root){//明确终止条件if(root null){r…

数据库管理-第168期 惯性(20240402)

数据库管理168期 2024-04-02 数据库管理-第168期 惯性&#xff08;20240402&#xff09;1 加法的惯性2 创新的惯性3 长期的责任总结 数据库管理-第168期 惯性&#xff08;20240402&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle ACE Associa…

JS-优先级相关出现的一个小问题

console.log("嵌套函数中调用fn this值被赋给self" self o);这个输出会是 false。 在 JavaScript 中&#xff0c;比较两个对象是否相等时&#xff0c;实际上比较的是它们在内存中的引用地址&#xff0c;而不是它们的属性值。即使两个对象有相同的属性值&#xff…

C++11:声明 初始化

C11&#xff1a;声明 & 初始化 初始化{ }初始化initializer_list 声明autodecltypenullptr 初始化 { }初始化 在C98中&#xff0c;允许使用花括号{ }对数组或者结构体元素进行统一的列表初始化。 用{ }初始化数组&#xff1a; int arr[] { 1, 2, 3, 4, 5 };用{ }初始化…

详解2024年阿里云服务器租用价格表,最新报价

阿里云服务器租用价格表2024年最新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核…

C++中的List容器用法详解

文章目录 C中的List容器用法详解List 的特点List 的重要接口用法介绍1.创建和初始化Listlist 2.插入元素push_backpush_forntinsert 删除元素pop_backpop_fontclearerase 遍历List迭代器遍历范围for遍历 排序Listsort 反转Listreverse 转移Listsplice 去重unique 合并merge 总结…

网站可扩展架构设计——中台

从公众号转载&#xff0c;关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、中台简介 1.传统项目架构的痛点 (1)重复造轮子 各项目相对独立&#xff0c;许多项目在重复造轮子&#xff0c;让项目本身越来越臃肿&#xf…

ts之基本类型,联合类型,函数,类的概念

1.ts中基础类型 数字 字符串 布尔 数组 元组 any never void null undefined 枚举 1.最基础的就是数字 字符串 布尔 number 和 大Number的区别 js特性 装箱的概念 xxx.xxx&#xff0c;string,boolean同理 let num1: number 1; let num2: Number 1; // 用来描述实例的 类也可…