Redis哨兵模式

Redis哨兵模式

  • 一、服务器准备
  • 二、安装redis
    • 1.Master服务器
    • 2.SlaveFirst服务器
    • 3.SlaveSecond服务器
  • 三、依次开启Redis服务器
  • 四、开启哨兵
    • 1.修改Master哨兵配置文件
    • 2.修改SlaveFirst哨兵配置文件
    • 3.修改SlaveSecond哨兵配置文件
    • 4.开启哨兵
    • 5.验证是否开启成功
    • 6.主从配置如下
    • 五、挂掉Master的Redis服务器,看服务器变化
  • 六、哨兵配置文件自动更改
    • 七、再次开启原先Master

一、服务器准备

Kali安装无法定位软件包问题
Kali防火墙开关
Kali开启ssh端口

安装VM虚拟机,准备三台服务器,这里kali我是之前装的,随便什么linux服务器都行

在这里插入图片描述

二、安装redis

没有下载权限看这篇
Redis安装参考这篇

CentOs7:systemctl stop firewalld.service(关闭)firewall-cmd --state(查看状态) 三台服务器需要开放对应的端口,或者简单点直接关闭防火墙
kaili:关闭见上文文章链接

1.Master服务器

首先安装主服务器,这里安装Redis,之后修改redis.conf配置文件,来开启服务

1.bind 192.168.1.7 //绑定监听ip
2.daemonize yes //开启后台运行
3.protected-mode no //关闭守护模式,允许外部访问
4.port 6379 //开启监听端口

2.SlaveFirst服务器

安装第一台从Redis服务器,修改Redis.conf的配置
slaveof 192.168.1.5 6379 //从服务器需要这里在redis.conf中加上这句话

1.bind 192.168.1.5 //绑定监听ip
2.daemonize yes //开启后台运行
3.protected-mode no //关闭守护模式,允许外部访问
4.port 6379 //开启监听端口
5.slaveof 192.168.1.7 6379 //配置从服务器的主服务器

3.SlaveSecond服务器

安装第一台从Redis服务器,修改Redis.conf的配置
slaveof 192.168.1.5 6379 //从服务器需要这里在redis.conf中加上这句话

1.bind 192.168.1.6 //绑定监听ip
2.daemonize yes //开启后台运行
3.protected-mode no //关闭守护模式,允许外部访问
4.port 6379 //开启监听端口
5.slaveof 192.168.1.7 6379 //配置从服务器的主服务器

三、依次开启Redis服务器

顺序:1、开启Master -》2、开启SlaveFirst-》3、开启SlaveSecond


cd /opt/redis-7.0.5/   *进入redis的解压目录中./src/redis-server ./redis.conf  *开启Redis服务./src/redis-cli -h 192.168.1.7 -p 6379   //打开redis的客户端,验证redis是否启动成功(Redis本机服务器地址)(端口)  	

进入master,在cli中输入info信息查看如下,主从布置完毕,主服务器已经挂载两台从服务器

在这里插入图片描述

四、开启哨兵

1.修改Master哨兵配置文件

这三台Redis,Master和Slave的哨兵配置文件都一致

编辑哨兵配置文件

vim sentinel.conf

配置文件修改添加内容

daemonize yessentinel monitor mymaster 192.168.1.7  6379 2(Master服务器ip) (端口) (投票数)

2.修改SlaveFirst哨兵配置文件

daemonize yessentinel monitor mymaster 192.168.1.7  6379 2(Master服务器ip) (端口) (投票数)

3.修改SlaveSecond哨兵配置文件

daemonize yessentinel monitor mymaster 192.168.1.7  6379 2(Master服务器ip) (端口) (投票数)

4.开启哨兵

注意,先开启上面三台主从Reids,然后再配置三台哨兵,并按master先开,再开slave顺序。

./src/redis-sentinel ./sentinel.conf

5.验证是否开启成功

Master设置key value

在这里插入图片描述

两台从服务器查询内容,主从复制成功

在这里插入图片描述
在这里插入图片描述

6.主从配置如下

master配置如下

在这里插入图片描述

salveFirst信息如下

在这里插入图片描述

salveSecond信息如下

在这里插入图片描述

现在三台机器的配置
192.168.1.7 Master
192.168.1.6 Slave
192.168.1.5 Slvae

五、挂掉Master的Redis服务器,看服务器变化

这里切换过程可能比较长点,可能要几分钟
kill掉Master,然后查看另外两台服务器信息,发现自动推举一台从服务器为Master了

查看192.168.1.7 Master,发现无法访问,

在这里插入图片描述

查看推举上来的Master,192.168.1.6 Slave 现在变为Mater

在这里插入图片描述

发现192.168.1.5 Slvae ,这台服务器的已经切换Master了。

在这里插入图片描述

六、哨兵配置文件自动更改

哨兵模式下的Sentinel.conf哨兵文件,会随着Mater的宕机,自动更改文件配置,重新推举一台新的Master服务器。这里是有原Master 192.168.1.7切换为192.168.1.6了

在这里插入图片描述

Master的redis.conf文件也会自动更改
在这里插入图片描述

七、再次开启原先Master

发现即使重新开启了,仍无法变为master,只能甘当小弟了。

在这里插入图片描述

攻守移位,现在原先的从服务器192.168.1.6变成了Master,并随着192.168.1.7原先Master的重启,192.168.1.6现在有了两个小弟

在这里插入图片描述

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

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

相关文章

【替换】批量替换命令文件名称或者文件内容

你是否困扰过,每次文件F2进行修改,十几个没关系,百来个写代码麻烦,那就使用shell命令吧 执行语句 先养成习惯查询验证,因为是批量替换,为了防止全局替换嘎嘎叫 替换文件名 # 【习惯】先使用顾虑查询&…

layui 设置选中时间为当天时间最大值23:59:59、laydate设置选中时间为当天时间最大值23:59:59

既是涨知识的一天,又是干前端的一天! laydate.render({ elem: #validityPeriod, //type: datetime,//类型要一定要相匹配 type: date, // 设置日期选择模式 trigger: click, format: yyyy-MM-dd HH:mm:ss, // 设置日期的显示格式 min: startDate, max: …

最新基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作方法

文献计量学是指用数学和统计学的方法,定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体,注重量化的综合性知识体系。特别是,信息可视化技术手段和方法的运用,可直观的展示主题的研究发展历程、研究现状、研究…

收藏这11个插画网站,插画师必备!

无论是在哪种设计工作中,插画素材都是比较常用的素材。今天本文整理了11个好用的插画工具,能帮助设计师轻松绘制出插画,一起来看看吧! 1、即时设计 即时设计是一款国产的,省心省力的插画工具。它为设计师提供了简单易…

linux系统C++和C函数封装方法

linux系统C和C函数封装方法 说明C函数封装C函数封装编译和调用 说明 .so文件是共享对象文件的扩展名,通常用于存储编译好的动态链接库。动态链接库是一些可被程序在运行时动态加载的代码和数据的集合。 .so文件可以被不同的程序共享使用,这样可以减少内…

YApi的安装与使用

1、介绍 YApi 是一个可本地部署的、免费开源的接口管理平台,它可以帮助团队更好地管理和共享接口文档。 主要功能 接口管理:对接口进行创建、编辑、查看、删除等操作。文档管理:创建项目文档,支持多人协作编辑。接口测试&#…

python实现某品牌数据采集

某品牌数据采集 采集需求 地址:http://www.winshangdata.com/brandList 需求:用scrapy框架采集本站数据,至少抓取5个分类,数据量要求5000以上 采集字段:标题、创建时间、开店方式、合作期限、面积要求 网页分析 …

大模型部署框架 FastLLM 实现细节解析

0x0. 前言 接着 大模型部署框架 FastLLM 简要解析 这篇文章首先梳理了一下FastLLM的调用链和关键的数据结构,然后解析了 FastLLM 的一些实现细节和CPU/GPU后端实现采用的优化技巧。 0x1. 调用链和数据结构解析 以chatglm-6b的支持为例,函数入口在 htt…

NLP实验案例100个(1-5)

实验一 array数组(01) 一、实验目的及要求 1.安装numpy环境,掌握基本的数组知识以及操作。 二、实验设备(环境)及要求 开发环境:jupyter notebook 开发语言以及相关的库:python开发语言、nu…

微信小程序开发,小程序类目符合,线上版本无权限申请wx.getLocation接口

我开发 的小程序类目符合wx.getLocation接口的申请标准 但是却还是显示无权限申请 后来研究好久才发现,小程序需要在发布线上版本时提交用户隐私保护指引 如未设置也可以在 设置-服务内容声明-用户隐私保护指引-声明处理用户信息项并补充填写后提交用户隐私协议审核…

Oracle 笔记

Oracle 笔记 这里主要是记录学习 Oracle 常用操作命令等,方便今后查阅!!! 一、常用命令 登录Oracle su - oracleexport ORACLE_SIDXE export ORAENV_ASKNO . /opt/oracle/product/21c/dbhomeXE/bin/oraenvsqlplus system/1qaz…

使用docker-compose搭建lnmpr环境

源码gitee compose 使用的三个步骤: • 使用 Dockerfile 定义应用程序的环境。 • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。 • 最后,执行 docker-compose up -d 命令来启动并运行整个应用程序…

D2L学习记录-10-词嵌入word2vec

NLP-1-词嵌入(word2vec) 参考: 《动手学深度学习 Pytorch 第1版》第10章 自然语言处理 第1、2、3 和 4节 (词嵌入) 词嵌入 (word2vec): 词向量:自然语言中,词是表义的基本单元。词向量是用来表示词的向量。词嵌入 (word embedding)&#x…

常见的正则表达式

目录 问题现象: 问题分析: 解决方法: 拓展: 1、手机号或座机: 2、邮箱: 3、中文: 4、数字: 5、英文: 6、组合: 问题现象: 今天在项目中&…

Bootstrap-学习文档

Bootstrap 简介 什么是 Bootstrap? Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。 Bootstrap是前端开发中比较受欢迎的框架,简洁且灵活。它基于HTML、CSS和JavaScript,HTML定义页面元素,CSS定义页面布局&#x…

数据库转换分析软件:EasyMorph 5.X Crack

EasyMorph 为您和您的团队提供数据超能力。无需编码技能。不要问 IT 人员。 自己做。 内置动作 即使您不是 IT 专家,也可以从任何地方检索数据并自动执行复杂的数据转换 无需 SQL 或编程知识 — 设计简单且 100% 可视化 减少对企业IT部门的依赖,减少繁琐…

清风学习笔记—层次分析法—matlab对判断矩阵的一致性检验

在判断矩阵是否为正互反矩阵这块,我写了两种代码,改进前很麻烦且有错误,改进后简洁多了,改进前的代码还有错误,忽略了对角线的值必须都是1,只考虑了除开对角线的元素相乘为1。 %% 改进前代码 A[3 2 4;1/2 …

Git的远程操作与多人协作

"爱在地图上剥落,我离孤单几公里~" 我们目前所说、所学的内容(工作区、暂存区、版本库)都只是存在于本地上,也就是说你的一台机器上只有这么一个你维护的版本库。可是Git是一个分布式版本控制系统,这又是什…

k8s kubelet coredns ubuntu修改dns配置文件读取路径

kubelet 修改默认使用的dns配置文件 coredns服务默认使用节点上的dns配置,由于在Ubuntu18及以上版本,默认是启用systemd-resolved服务的,且配置nameserver配置文件默认为 /run/systemd/resolve/resolv.conf , 且kubelet默认的dns…

YOLO 划分数据集(训练集、验证集、测试集)

目录 前言训练集、验证集(8:2)训练集、验证集、测试集(7:2:1) 前言 本博客是在我的另一篇博客 VOC 格式与 YOLO 格式的相互转换 的基础上进行的,有需要可以参考 以下代码亲测可以直接复制运行(以下所有的路…