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 yes

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

2.修改SlaveFirst哨兵配置文件

daemonize yes

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

3.修改SlaveSecond哨兵配置文件

daemonize yes

sentinel 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现在有了两个小弟

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

线程池-手写线程池Linux C简单版本(生产者-消费者模型)

目录 简介手写线程池线程池结构体分析task_ttask_queue_tthread_pool_t 线程池函数分析thread_pool_createthread_pool_postthread_workerthread_pool_destroywait_all_donethread_pool_free 主函数调用 运行结果 简介 本线程池采用C语言实现 线程池的场景: 当某些…

React哲学——官方示例

在本篇技术博客中,我们将介绍React官方示例:React哲学。我们将深入探讨这个示例中使用的组件化、状态管理和数据流等核心概念。让我们一起开始吧! 项目概览 React是一个流行的JavaScript库,用于构建用户界面。React的设计理念是…

组合模式(Composite)

组合模式是一种结构型设计模式,主要用来将多个对象组织成树形结构以表示“部分-整体”的层次结构,因此该模式也称为“部分-整体”模式。简言之,组合模式就是用来将一组对象组合成树状结构,并且能像使用独立对象一样使用它们。 Co…

排序进行曲-v2.0

小程一言 这篇文章是在排序进行曲1.0之后的续讲, 0之后的续讲,英语在上一篇讲的排序的基本概念与分类0之后的续讲, 英语在上一篇讲的排序的基本概念与分类这片主要是对0之后的续讲,英语在上一篇讲的排序的基本概念与分类这 篇主要是对几个简单的排序进行细致的分析…

HarmonyOS/OpenHarmony元服务开发-配置卡片的配置文件

卡片相关的配置文件主要包含FormExtensionAbility的配置和卡片的配置两部分: 1.卡片需要在module.json5配置文件中的extensionAbilities标签下,配置FormExtensionAbility相关信息。FormExtensionAbility需要填写metadata元信息标签,其中键名称…

企业电子招投标采购系统java spring cloud+spring boot功能模块功能描述+数字化采购管理 采购招投标

​功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外…

Java枚举解析:掌握枚举的绝佳指南!

申明:本人于公众号Java筑基期,CSDN先后发当前文章,标明原创,转载二次发文请注明转载公众号,另外请不要再标原创 ,注意违规 枚举 在Java中,枚举(Enumeration)是一种特殊的…

Python实现单例模式

一、介绍 单例模式是一种常见的设计模式,它保证一个类只能被实例化一次,并提供了一个全局访问点来获取这个唯一的实例。在Python中,可以通过使用装饰器、元类或模块等方式实现单例模式。 二、Python实现单例模式的6种方法 1、使用模块实现…

git 忽略掉不需要的文件

第一步:创建.gitignore文件 touch .gitignore 第二步:使用vi编辑器 输入不需要的文件,或用通配符*来忽视一系列文件 效果:

什么是软件检测证明材料,如何才能获得软件检测证明材料?

一、什么是软件检测证明材料 软件检测证明材料是指在软件开发和发布过程中,为了证明软件的质量和合法性,进行的一系列检测和测试的结果的集合。它是软件开发者和用户之间信任的桥梁,可以帮助用户了解软件的性能和安全性,让用户放…

开放自动化软件的硬件平台

自动化行业的产品主要以嵌入式系统为主,历来对产品硬件的可靠性和性能都提出很高的要求。最典型的产品要数PLC。PLC 要求满足体积小,实时性,可靠性,可扩展性强,环境要求高等特点。它们通常采用工业级高性能嵌入式SoC 实…

LinearAlgebraMIT_6_ColumnSpaceAndNullSpace

这节课的两个重点是column space列空间和null space零空间。 x.1 pre-multiply/left multiply and post-multiply/right multiply 对于pre-multiply/left multiply左乘和post-multiply/right multiply右乘,如果用英文的pre-和post-是比较容易理解的, A…

Maven发布项目到Nexus私服

项目pom配置 在项目pom.xml中文件中的仓库配置&#xff0c;Nexus私服如何搭建在这里不介绍了可自行百度。 <distributionManagement><repository><id>releases</id><name>Nexus Release Repository</name><url>http://私服地址:34…

gitlab CI/CD 安装 gitlab runner

一、为什么需要安装gitlab runner &#xff1f; 极狐GitLab Runner 极狐GitLab Runner 是在流水线中运行作业的应用&#xff0c;与极狐GitLab CI/CD 配合运作。 说白了就是你部署的一个agent。 二、如何安装&#xff1f; 1.介绍通过helm部署github runner 2.helm添加仓库 h…

python小游戏课程设计报告,python游戏课程设计报告

大家好&#xff0c;给大家分享一下python2048游戏课程设计报告&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01;

Clion开发Stm32之温湿度传感器(DS18B20)驱动编写和测试

前言 涵盖之前文章: Clion开发STM32之HAL库GPIO宏定义封装(最新版)Clion开发stm32之微妙延迟(采用nop指令实现)Clion开发STM32之日志模块(参考RT-Thread) DSP18B20驱动文件 头文件 /*******************************************************************************Copy…

多线程(JavaEE初阶系列6)

目录 前言&#xff1a; 1.什么是线程池 2.标准库中的线程池 3.实现线程池 结束语&#xff1a; 前言&#xff1a; 在上一节中小编带着大家了解了一下Java标准库中的定时器的使用方式并给大家实现了一下&#xff0c;那么这节中小编将分享一下多线程中的线程池。给大家讲解一…

CNN卷积详解

转载自&#xff1a;https://blog.csdn.net/yilulvxing/article/details/107452153 仅用于自己学习过程中经典文章讲解的记录&#xff0c;防止原文失效。 1&#xff1a;单通道卷积 以单通道卷积为例&#xff0c;输入为&#xff08;1,5,5&#xff09;&#xff0c;分别表示1个通道…

安防视频监控平台EasyCVR修改参数提示database or disk is full的原因排查

EasyDarwin开源流媒体视频EasyCVR安防监控平台可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等能力。视频监控综合管理平台EasyCVR具备视频汇聚融合能力&#xff0c;平台基于云边端一体化架构&#xff0c;具有强大…

JDK各版本重要变革

各版本更新详情 JDK8(LTS)--2014/3 语法层面 lambda表达式(重要特色之一) 一种特殊的匿名内部类,语法更加简洁允许把函数作为一个方法的参数,将代码象数据一样传递&#xff0c;即将函数作为方法参数传递基本语法: <函数式接口> <变量名> (参数...) -> { 方法…