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

article/2025/10/9 14:53:49

目录

关闭

启动

重启

        (保留原有集群的)重启

        (删除原有集群的)重启

集群相关指令

        查看集群相关指令

        查看集群状态信息

        查看集群节点信息


关闭

  • 方式一进入redis后,使用SHUTDOWN指令或SHUTDOWN SAVE指令或SHUTDOWN NOSAVE指令。

  • 方式二(不推荐)谨慎使用直接kill -9 ${进程号}的方式。

方式二的相关指令(不推荐直接kill)

# 查看redis进程

ps -ef|grep redis

# kill掉进程

kill -9 2177 2217

方式二的执行效果如图(不推荐直接kill)


启动

  • 如果之前集群已经搭建好了,由于某些原因kill掉了所有节点,如果此时需要启动集群的话,只需要挨个启动各个Redis节点即可,集群自然就起来了。

相关指令:

# 后台启动Redis

src/redis-server redis.conf

执行效果如图:


重启

(保留原有集群的)重启

  • 不需要再执行(形如src/redis-cli -a ds123 --cluster create 10.8.109.24:6379 10.8.109.36:6379 10.8.109.49:6379 10.8.109.49:6380 10.8.109.24:6380 10.8.109.36:6380 --cluster-replicas 1这样的)集群生成指令。

第一步关闭各个Redis节点。

第二步启动各个Redis节点即可。

(删除原有集群的)重启

  • 需要执行(形如src/redis-cli -a ds123 --cluster create 10.8.109.24:6379 10.8.109.36:6379 10.8.109.49:6379 10.8.109.49:6380 10.8.109.24:6380 10.8.109.36:6380 --cluster-replicas 1这样的)集群生成指令。

第一步关闭各个Redis节点。

第二步:删除各个Redis安装目录下的节点配置文件nodes.conf数据文件dump.rdb

说明:此方式相当于重置到刚刚创建集群的时候了,所以需要删除节点配置文件nodes.conf、还需
          要删除数据存储文件dump.rdb。

相关指令:

# 删除节点配置文件

rm nodes.conf dump.rdb

执行效果如图:

注:节点配置文件nodes.conf、数据文件dump.rdb等可以在redis.conf文件中指定,本人没有进行任何指定,走的是默认的。

第三步启动各个Redis节点。

第四步(在集群中的任意一个节点)执行集群搭建指令

src/redis-cli -a ds123 --cluster create 10.8.109.24:6379 10.8.109.36:6379 10.8.109.49:6379 10.8.109.49:6380 10.8.109.24:6380 10.8.109.36:6380 --cluster-replicas 1

注:因为我们开启了Redis密码认证,所以需要在这里-a ds123指明密码,其中ds123就是本人设置的密码。

注:--cluster-replicas 1中,1代表的是一个master有一个slave;前三个ip是master,后三个ip是对应的slave。

执行效果如图:

注:如果此步时,最后提示[ERR] Not all 16384 slots are covered by nodes

那么就说明:有部分slot被占用了(因为之前的Redis集群中使用过了部分solt,所以我们“重置”集群时会受到影响),此时我们需要清理每个节点的solt,进入各节点的客户端:

# 进入客户端
src/redis-cli -c

# 密码认证
auth ds123

# 清理当前连接的节点下的所有slot
cluster flushslots

执行效果为:

再进行(删除原有集群的)重启即可。


集群相关指令

查看集群相关指令

# 进入redis客户端,输入

cluster help

执行效果如图:

查看集群状态信息

相关指令:

# 进入redis客户端,输入
cluster info

执行效果如图:

查看集群节点信息

相关指令:

# 进入redis客户端,输入
cluster nodes

执行效果如图:

 

 

笔者寄语
      更多指令请自己去实操体验。

 

^_^ 如有不当之处,欢迎指正

^_^ 本文已经被收录进《程序员成长笔记(一)》,笔者JustryDeng


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

相关文章

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个字符之时…

Linux系统下C语言的编程技巧

Linux系统能够为人们提供更加安全实用的效果,保证计算机系统能够稳定的运行。利用Linux系统下首先要进行C语言的编程,掌握编程的技巧能够更好的发挥计算机的作用。如何掌握Linux系统下计算机C语言的编程技巧是计算机发展的关键要素。本文对Linux系统下计算机C语言的编程技巧进行…

C语言使用fgetc()函数

fgets&#xff08;&#xff09;函数用法比单一&#xff0c;请结合代码一起理解 #include "stdio.h" #include "stdlib.h" int main() {FILE *fp; //定义文件指针char filename[200]; //存放输入的文件名字char str; //存放一个职工…