rediss集群 三主三从集群模式

  1. 三主三从集群模式

1)、新建redis集群目录:7001~7006工作目录【/app/soft/redis-cluster/目下】

2)、在7001~7006 目录下创建bin和conf 目录,然后将/app/soft/redis/bin目录下的文件分别拷贝到7001~7006 目录,然后在7001~7006 目录conf文件夹创建redis.conf 文件。修改配置文件:

include /app/soft/redis-cluster/redis_common.conf

port 7006  【每个目录下端口自行定义,同一台服务器不能冲突】

#requirepass  1q2w3e4r

logfile "/app/soft/redis/logs/m.log"【日志路径可自行定义】

dir /app/soft/redis/data【数据存储路径可自行定义】

pidfile redis_m.pid

dbfilename dump_m.rdb

appendfilename "appendonly_m.aof"

cluster-enabled yes

cluster-node-timeout 15000

cluster-config-file nodes-7006.conf 【每目录文件名自行定义,一台服务器不能冲突】

4)、将redis编译安装后的配置文件/app/soft/redis-5.0.12/redis.conf 拷贝至/app/soft/redis-cluster/  目录并重命名为redis_common.conf

5)、修改配置文件redis_common.conf

#bind 127.0.0.1

protected-mode no

daemonize yes

6)、在001~7006 /bin目录下分别执行以下命令启动redis服务

./redis-server  ../conf/redis.conf

2、创建集群【进入redis解压目录/app/soft/redis-5.0.12/src】执行以下命令

./redis-cli --cluster create  127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1

--cluster-replicas 1【表示主从复制节点比例1:1,不跟这些指令执行时候有可能出现2主4从模式。】分配好主节点Master和从节点Slave及solt(槽)的大小,默认redis集群中仅含有16384个槽点。

3、查看redis集群中各节点【进入redis解压目录/app/soft/redis-5.0.12/src,在集群中任意节点输入以下命令】

./redis-cli --cluster check localhost:7001

4、Redis集群的会根据数据的key值计算一个slot(槽位),然后把数据写入Master节点的Slot,对应的slave节点会和master节点进行主从同步。读取数据时也会根据一致性哈希算法从master节点读取数据。

查看各几点占用槽位的命令./redis-cli --cluster check  127.0.0.1:7001

5、当master节点挂掉(服务异常、内存溢出、宕机)时,对应slave节点才会启动充当Master节点

127.0.0.1:7001> shutdown【登录到节点7001,停止redis服务】

not connected>

not connected> exit

[domains@ensemble1 src]$ ./redis-cli --cluster check  127.0.0.1:7001

Could not connect to Redis at 127.0.0.1:7001: Connection refused

查看集群情况,在其他节点执行以下命令:./redis-cli --cluster check  127.0.0.1:7002【此时7001原来的slave节点升级为Master节点,7001节点不可用】

注意:必须3个或以上主节点,否则创建集群失败;且当存活主节点数小于总数一半时集群不可以用。需要重新启动集群

6、集群异常时如何处理

1)、某一个Mastar点服务异常时,对应的Slave节点会自动切换为新的Master节点,数据使用/app/soft/redis/data/ 目录下的数据。

2)、当异常节点服务恢复后,执行 ./redis-cli --cluster check  ip:端口,重新检查并将该节点添加到集群中。

3)、若出现对应的主从节点同时服务异常,则集群不可对外提供服务。需要尽快恢复节点

7、执行cluster info 命令查看集群状态信息

[domains@ensemble1 src]$ ./redis-cli   -c -p 7001【-c 以集群方式连接】

127.0.0.1:7001> cluster info

8、集群中节点的操作

1)、从节点的删除

./redis-cli --cluster del-node  127.0.0.1:7001 ebf3defc027d5ec32bbc491f0332cc652aae23ab【这个是要删除的节点ID】

2)、添加从节点

./redis-cli --cluster add-node  127.0.0.1:7001 127.0.0.1:7006 --cluster-slave --cluster-master-id 797d05071cc019b65d4f6ff3ce724b1f95bd0612

#添加节点时候一定要清楚节点中的数据

#127.0.0.1:7001 127.0.0.1:7006分别表示新加入的slave节点和集群中任意一个节点

#--cluster-slave表示加入的是slave节点

#--cluster-master-id表示slave对应的maste节点的ID

结果出现:make it join the cluster 表示节点添加成功

注意:添加的从节点必须清空数据才能添加,有数据的时候添加会报错。【登录需要添加的节点,执行flushdb命令清空redis数据库后再添加即可】

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

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

相关文章

【OrangePi Zero2的系统移植】OrangePi Zero2 SDK说明

一、使用环境要求 二、获取Linux SDK 三、首次编译完整SDK 基于OrangePi Zero2的系统移植 之前我们讲解香橙派的使用时, 都是直接在香橙派上进行代码编译, 但在实际的项目开发过程中,更多 的还是使用交叉编译环境进行代码的编译。再编译完成…

-打印流-

打印流分为字节打印流:PrintStream 字符打印流:PrintWriter特点1:都是只能输出 不能读取 字节打印流: 构造方法:主要用上面的两个构造 成员方法: //创建字节打印流对象:ctrlp注意参数 Prin…

HCIA--NAT实验

1. 划分网段,配置接口IP地址,内网启用OSPF协议,并配置一对一的NAT: AR1配置: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 10.1.1.1 24 [Huawei-GigabitEthernet0/0/0]int g0/0/1 [Huawei-GigabitEther…

常见的单片机及其功能

在当今电子技术快速发展的时代,单片机作为核心组件,在各类电子项目和产品中扮演着至关重要的角色。它们的应用范围从简单的家用电器控制到复杂的工业自动化系统,几乎无处不在。接下来,我们将以轻松的语言,探讨几种广泛…

OpenCV-30 腐蚀操作

一、引入 腐蚀操作也是用卷积核扫描图像,只不过腐蚀操作的卷积核一般都是1(卷积核内的每个数字都为1),如果卷积核内所有像素点都是白色,那么锚点(中心点)即为白色。 大部分时候腐蚀操作使用的都…

ChatGPT高效提问—prompt常见用法(续篇七)

ChatGPT高效提问—prompt常见用法(续篇七) 1.1 零样本、单样本和多样本 ​ ChatGPT拥有令人惊叹的功能和能力,允许用户自由向其提问,无须提供任何具体的示例样本,就可以获得精准的回答。这种特性被称为零样本&#x…

力扣刷题之旅:进阶篇(二)

力扣(LeetCode)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。 --点击进入刷题地址 继续我的力扣刷题之旅,在上一篇文章中,我深…

async 与 await(JavaScript)

目录捏 前言一、async二、await三、使用方法总结 前言 async / await 是 ES2017(ES8) 提出的基于 Promise 解决异步的最终方案。上一篇文章介绍了 回调地狱 与 Promise(JavaScript),因为 Promise 的编程模型依然充斥着大量的 then 方法&#…

会声会影绿幕抠图操作方法 会声会影绿幕抠图有绿色残边 绿幕抠图视频有绿边怎么处理 抖音怎么剪辑视频 视频剪辑软件推荐

科幻片里真的存在怪兽吗?外太空的画面是直接将演员放入太空拍摄的吗?其实这些不切实际的画面是通过绿幕拍摄实现的。你只需要在绿幕前拍一段太空漫步的视频,再利用会声会影的抠图功能就能实现!如果你还不会绿幕抠图,我今天就手把…

node网站 宝塔 面板配置 防止刷新404

1.问题 我现在配置了一个网站 后台项目 放到了宝塔上 将相应的域名和项目都配置好了 域名也可以访问 但是有的时候 出现了404 类似这种404 这个资源找不到 2.说明 其实这个问题的原因是nginx 的问题 反向代理的原因 3.解决 在这个配置文件中 有个配置文件 # 防止刷新404l…

1、学习 Eureka 注册中心

学习 Eureka 注册中心 一、创建 Eureka 微服务0、SpringBoot 和 SpringCloud 版本1、引入 Eureka 服务端依赖2、启动类加 EnableEurekaServer 注解3、配置 yaml 文件,把 Eureka 服务注册到 Eureka 注册中心4、访问 Eureka 服务端,查看注册中心的服务列表…

【GoogleAdmob接入后续】app-ads.txt以及部署Firebase Hosting

目录 一、创建app-ads.txt 二、部署Firebase Hosting云服务(仅仅使用它作为一个公开的站点来让Google Admob能访问到app-ads.txt) 三、收尾工作 一、创建app-ads.txt 创建txt文件,命名app-ads,后缀txt,内容需去到G…