redis集群 服务器重启测试

article/2025/10/9 14:17:25

redis集群 服务器重启测试

  • 1、集群规划:2台服务器 每台服务器运行3个redis实例
  • 2、重启2台服务器后redis实例没有自动重启
    • 最后一对主从节点
    • 比较 重启实例后和之前的主从分配
  • 3、再次重启2台服务器
  • 4、主从同步测试

1、集群规划:2台服务器 每台服务器运行3个redis实例

192.168.2.129 7000 7001 7004
192.168.2.136 7002 7003 7005

136:7002129:7004
136:7005129:7000
136:7003129:7001

重启服务器后redis实例没有自动重启,查看集群各节点的配置文件
192.168.2.129 7000 7001 7004
在这里插入图片描述
192.168.2.136 7002 7003 7005
在这里插入图片描述

2、重启2台服务器后redis实例没有自动重启

手动重启redis实例
启动129:7000 后 查看日志 在不断刷新 同步集群信息失败,其余5个节点均没有新日志产生。
在这里插入图片描述
在这里插入图片描述
再启动129:7001
在这里插入图片描述
启动129:7001 后 查看日志 在不断刷新 同步集群信息失败,其余4个节点均没有新日志产生。
在这里插入图片描述
推测是因为没有启动对应的主从节点所以其余节点没有日志
下面启动129:7001的master 136:7003
在这里插入图片描述
查看129:7001日志
在这里插入图片描述
查看136:7003日志
在这里插入图片描述
确认129:7001和136:7003是1对主从节点
在这里插入图片描述
启动预设的129:7000的master 136:7005
129:7000日志仍在刷新,同步集群信息失败
在这里插入图片描述
136:7005的日志
在这里插入图片描述

启动136:7005
在这里插入图片描述
分配了新的从节点
在这里插入图片描述
至此其余2个节点没有新日志产生。
查看当前4个实例的主从分配状态
在这里插入图片描述

最后一对主从节点

129:7004当前日志
在这里插入图片描述
136:7002当前日志
在这里插入图片描述
启动136:7002
在这里插入图片描述
查看136:7002日志
在这里插入图片描述
129:7004日志 没有新日志
在这里插入图片描述
启动129:7004
在这里插入图片描述
查看136:7002日志 黄色部分是因为启动从节点129:7004后 新增的 此时主从产生了信息沟通交换
在这里插入图片描述
查看129:7004日志 新增日志如下
在这里插入图片描述

比较 重启实例后和之前的主从分配

查看重启实例后的集群状态
在这里插入图片描述
按预设主从分配重启节点前的主从节点分配

136:7002129:7004
136:7003129:7001
136:7005129:7000

按预设主从分配重启节点后的主从节点分配

136:7002129:7004
136:7003129:7001
136:7005129:7000

说明按预设主从分配(集群节点配置文件中的主从分配)启动实例后集群主从分配不会改变,还是之前的预设主从分配。但是变动了

查看集群节点配置文件
129
在这里插入图片描述
136
在这里插入图片描述

3、再次重启2台服务器

查看集群节点配置文件 和重启前相同
129
在这里插入图片描述

136
在这里插入图片描述
下面不按照集群节点配置文件的主从分配关系 乱序启动redis实例进行测试

136:7002129:7004
136:7003129:7001
136:7005129:7000

136:7002->129:7001->136:7003->129:7000->129:7004->136:7005
乱序交叉启动后查看redis主从分配,和服务器重启前是一样的。

136:7002129:7004
136:7003129:7001
136:7005129:7000

在这里插入图片描述
启动redis实例后,再次查看集群节点配置文件,和启动redis实例前比较,相同(只有数字串不同)
129
在这里插入图片描述
136
在这里插入图片描述

4、主从同步测试

在从节点192.168.2.129:7000上增加1个缓存
在这里插入图片描述

Redirected to slot [9794] :表示001这个缓存通过计算后,落在9794这个slot上;
located at 192.168.2.136:7002:最终定位在192.168.2.136:7002这个master节点上;(127.0.0.1:7000是slave,192.168.2.136:7002并不是192.168.2.129:7000对应的master,只有master才能写入)。
如果在192.168.2.136:7002重复上面的创建缓存过程,不会出现Redirected to…这行(192.168.2.136:7002是master,所以不存在redirect的过程 直接可以写入了)。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/lGUapmwl.shtml

相关文章

启动redis

目录 could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝,无法连接 解决办法 启动效果 今天下载了若依框架,本来想运行一下看看效果,结果出现下列问题 org.springframework.beans.factory.UnsatisfiedDependencyExcept…

Redis集群的关闭、启动、重启等相关指令

目录 关闭 启动 重启 (保留原有集群的)重启 (删除原有集群的)重启 集群相关指令 查看集群相关指令 查看集群状态信息 查看集群节点信息 关闭: 方式一:进入redis后,使用SHUTDOWN指令或SHUTDOWN SAVE指令或SHUTDOWN NOSAVE指令。 方式二(不…

docker-redis一直重启

现象 查看该容器的日志 docker logs f3be1896ecd8结论 当前mongo-redis/log下面没有redis.log 文件导致读取失败 解决方案 在mongo-redis/log目录下新建redis.log文件 遗留问题 测试发现在使用docker-compose up -d后会生成redis.log 删除当前redis.log,重启容…

Redis重启

1、启动redis 服务 redis-server所在目录 redis.conf文件路径 找到redis-cli所在目录,输入: ./redis-cli 查看服务是否启动成功 2、关闭redis 服务: ./redis-server shutdown

linux下重启redis的方法

导语: 已经将redis加入到etc下,此时服务器启动redis也启动,但是却连不上redis,所有有了以下的过程。 (学习视频分享:redis视频教程) 查看redis 状态:systemctl status redis ● redis.service - redis-…

前端H5面试题Js:JavaScript字符串的常用方法有哪些?

一、前言: 可将字符串常用的操作方法归纳为增、删、改、查,需要知道字符串的特点是一旦创建了,就不可变。 二、增 增的意思并不是说直接增添内容,而是创建字符串的一个副本,再进行操作,除了常用以及${}进行…

H5模拟面试题

HTML & HTML5 Position属性的值有哪些?怎样使用? absolute 生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位。元素的位置通过”left”,”top”,”right”以及”bottom”属性进行规定。fixed 生成绝对定位的元素&…

前端H5面试题CSS:如何解决 margin“塌陷”?

一、外边距塌陷共有两种情况 ①第一种情况: 两个同级元素,垂直排列,上面的盒子给 margin-bottom 下面的盒子给 margin-top,那么他们两个的间距会重叠,以大的那个计算。 解决这种情况的方法为:两个外边距…

Java面试题十二:Java内存模型,h5移动端开发面试题

Java开发人员并不需要像C/C++开发人员,需要时刻注意内存的分配和释放,而是全权交给虚拟机(JVM)去管理,自然关于内存管理或是内存的模型、结构对Java开发来说就是一个“黑箱”。 两眼一抹黑似乎也不影响写Java的代码。但我也说过,了解一些内部的机制或者是自己认为不重要…

前端H5面试题(总结)

一、v-if 与 v-show的选择 1、v-if 和 v-show具有类似的功能,不过 v-if 才是真正的条件渲染,它会根据表达式是当地销毁或者重建元素及绑定的事件或子组件。 若表达式初始值为false,则一开始元素/组件并不会渲染,只有当条件第一次…

前端H5面试题(vue为主)

一.src和href的区别 &#xff1f; src表示引用资源&#xff0c;表示替换当前元素&#xff0c;用在img&#xff0c;script&#xff0c;iframe上&#xff0c;src是页面内容不可缺少的一部分。常用场景&#xff1a; <img src"img/girl.jpg"></img> <if…

h5面试题20道

本文转载自:http://www.cnblogs.com/HanJie0824/p/5841640.html 1.新的 HTML5 文档类型和字符集是&#xff1f; HTML5 文档类型很简单&#xff1a; <!doctype html> HTML5 使用 UTF-8 编码示例&#xff1a; <meta charset"UTF-8"> 2.HTML5 中如何嵌…

h5面试题总结

导航的解析流程 1.导航被触发。 2.在失活的组件里调用beforeRouteLeave守卫 3.调用全局的 beforeEach 守卫 4.在重用的组件里调用 beforeRouteUpdate 守卫 (2.2) 5.在路由配置里调用 beforeEnter 6.解析异步路由组件 7.在被激活的组件里调用 beforeRouteEnter 8.调用全…

H5前端面试题汇总

1.关于利用数组去重的方法,除了用最简单的set去重以外, 还有reduce,先来看一下reduce的基本使用吧 那么问题来了, 如何用reduce来给类数组对象去重呢? 2.promise是用来做什么的? promise是用来解决异步编程问题(简单说是就是解决回调地狱的), promise有三种状态: paddin…

C语言中关于fscanf()方法与fgets()方法的简单知识点总结

fscanf() int fscanf(FILE* stream, const char* format, [argument...]);fscanf()方法与scanf()方法类似。不同的是多了第一个参数&#xff0c;文件指针参数&#xff0c;后两个参数用法类似。其中要注意的是第三个参数处填写变量时&#xff0c;不要遗漏取地址符&。 要点…

C语言快速进阶C++(基本篇+STL篇)

目录 前言 用C做题的好处 using namespace std cin&#xff0c;cout头文件 变量声明 bool变量 const定义常量 string类 结构体 引用& vector set map(键值对) stack(栈) queue(队列) unordered_map和unordered_set(无序键值对和无序集合) 此思维导图来源于…

C语言fgets()函数的用法总结

从c11之后取消了gets()函数&#xff0c;用fgets()代替&#xff0c;用法有所不同&#xff0c;这里详细介绍下fgets()该如何使用。 char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 第一个参数为数据存放的数组&#xff0c;第二个参数为最大长度&#x…

C语言一行语句太长的换行处理方法

文章目录 1、C语言中代码的多行书写2、获取视频教程3、版权声明 1、C语言中代码的多行书写 对C语言初学者来说&#xff0c;编写的程序的功能很简单&#xff0c;一句代码很短&#xff0c;但是在实际开发中&#xff0c;参数往往很长很多&#xff0c;一句代码可能会很长&#xff…

(c语言)fgest()键盘获取后解决换行符'\n'的问题

fgets是会读取回车换行符的。有时候我们并不希望在字符串中存在换行符。 #include <stdio.h>int main (int argc,char *argv[]) {char str[30]"";//scanf("%s",str);printf("随便输入一个字符串呗&#xff1a;");fgets(str,sizeof(str),s…

C语言按行读取文件的正确使用:fgets、feof、ferror

转自 https://blog.csdn.net/yss28/article/details/53453959 一、fgets函数 原型 char *fgets(char *buf, int bufsize, FILE *stream); 功能 fgets函数用来从stream所指文件中读入bufsize-1个字符放入buf为起始地址的空间内&#xff1b;如果在未读满bufsize-1个字符之时…