当前位置: 首页 > news >正文

Redis集群Cluster搭建

Redis集群Cluster搭建

  • 集群框架
  • 1、下载redis
  • 2.创建Cluster文件
  • 3.修改redis配置文件
  • 4.启动redis
  • 5.链接各个redis
  • 6.分配槽位
  • 7.添加从机节点(备份Redis)
  • 8.以集群方式登录
  • 9.使用开源Redis可视化客户端链接

集群框架

三个集群节点,每个节点有个副本节点备份数据

在这里插入图片描述

1、下载redis

yum -y install redis

2.创建Cluster文件

cd root
mkdir cluster
cd cluster
//创建6个文件夹
mkdir node{1,2,3,4,5,6}

3.修改redis配置文件

Master1

1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6379 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6379.conf  //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间

Master2

1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6380 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6380.conf  //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间

Master3

1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6381 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6381.conf  //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间

Slave1

1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6382 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6382.conf  //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间

Slave2

1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6383 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6383.conf  //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间

Slave3

1.bind 192.168.1.5 //主机地址
2.protected-mode no //非守护模式
3.port 6384 //运行端口
4.daemonize yes //后台运行
5.cluster-enabled yes (文件68%的位置) //开启集群
6.cluster-config-file nodes-6384.conf  //集群配置文件
7. cluster-node-timeout 15000 //集群超时时间

4.启动redis

redis-server /root/cluster/node1/redis.conf
redis-server /root/cluster/node2/redis.conf
redis-server /root/cluster/node3/redis.conf
redis-server /root/cluster/node4/redis.conf
redis-server /root/cluster/node5/redis.conf
redis-server /root/cluster/node6/redis.conf

在这里插入图片描述

5.链接各个redis

在这里插入图片描述

//打开Master1的Cli
redis-cli -h 192.168.1.5 -p 6379 (一台master执行就行)//建立集群链接,和大家打招呼
CLUSTER MEET 192.168.1.5 6380
CLUSTER MEET 192.168.1.5 6381
CLUSTER MEET 192.168.1.5 6382
CLUSTER MEET 192.168.1.5 6383
CLUSTER MEET 192.168.1.5 6384

在这里插入图片描述

//验证集群链接状态
redis-cli -h 192.168.1.5 -p 6379 cluster nodes

在这里插入图片描述

//查看集群信息,这里会显示fail,因为集群还没有分配槽位,所以失败
redis-cli -h 192.168.1.5 -p 6379 cluster info

6.分配槽位

如果遇到【Error】如下
“slot *** is busy”
集群存在脏数据需要再三台Master执行以下三个命令
redis-cli -h 192.168.1.5 -p 6379
flushall
cluster reset

//分配给三台Master槽位
redis-cli -h 192.168.1.5 -p 6379 cluster addslots {0..5461}
redis-cli -h 192.168.1.5 -p 6380 cluster addslots {5462..10922}
redis-cli -h 192.168.1.5 -p 6381 cluster addslots {10923..16383}

redis-cli -h 192.168.1.5 -p 6379 cluster nodes 验证成功信息如下

在这里插入图片描述

7.添加从机节点(备份Redis)

//查看各个节点信息 ,6379-6381Master,6382-6384从机
redis-cli -h 192.168.1.5 -p 6379 cluster nodes

在这里插入图片描述

//设置Master1节点的从机replicate1
redis-cli -h 192.168.1.5 -p 6382(slave1端口)  cluster replicate da174c5c6f56db1665b95a76b510780c26ccd13f(Master1节点ID)//设置Master2节点的从机replicate2
redis-cli -h 192.168.1.5 -p 6383  cluster replicate 4e241c079da23ed3eaae7df2599cf7679765230c//设置Master2节点的从机replicate2
redis-cli -h 192.168.1.5 -p 6384  cluster replicate a4136a827a810e4ceae6113d81c873c11445d5b5

设置后查看节点信息,成功画面如下

在这里插入图片描述

8.以集群方式登录

//只能查看单台机器的数据
redis-cli -h 192.168.1.5 -p 6379//查看整个集群的数据
redis-cli -h 192.168.1.5 -p 6379 -c

设置第一个数据
在这里插入图片描述
当我们再次设置时,集群会根据CRC计算改数据存放到那个槽位,

在这里插入图片描述

在集群链接模式下,能访问到所有节点所有槽位的数据
在这里插入图片描述

9.使用开源Redis可视化客户端链接

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

相关文章:

Redis集群Cluster搭建

Redis集群Cluster搭建 集群框架1、下载redis2.创建Cluster文件3.修改redis配置文件4.启动redis5.链接各个redis6.分配槽位7.添加从机节点(备份Redis)8.以集群方式登录9.使用开源Redis可视化客户端链接 集群框架 三个集群节点,每个节点有个副本…...

swing组件应用

1. 组件概述 (1) 说明 组件组成Java 的图形界面的各个元素,按照不同的功能,可分为 顶层容器、中间容器、基本组件。顶层容器为java.awt.Window的子类,有JFrame、JDialog等。中间容器和基础组件都为javax.swing.JCompo…...

Spring学习记录----十五、面向切面编程AOP+十六、Spring对事务的支持

十五、面向切面编程AOP IoC使软件组件松耦合。AOP让你能够捕捉系统中经常使用的功能,把它转化成组件。 AOP(Aspect Oriented Programming):面向切面编程,面向方面编程。(AOP是一种编程技术) …...

Color Correction (颜色校正)

介绍 在Unity中,Color Correction (颜色校正) 是一种用于调整场景或游戏画面颜色的技术。其中,Curves(曲线)和Saturation(饱和度)是常用的Color Correction工具。通过Curves,可以对RGB通道进行…...

Unity-缓存池

一、.基础缓存池实现 继承的Singleton脚本为 public class Singleton<T> where T : new() {private static T _instance;public static T GetIstance(){if (_instance null)_instance new T();return _instance;} } 1.PoolManager using System.Collections; using S…...

ubuntu samba 配置常见问题

samba配置&#xff1a; sudo vi /etc/samba/smb.conf [xxx 共享文件名] comment share folder browseable yes writable yes guest ok yes path /workdir/code/favarite create mask 0777 directory mask 0777 sudo /etc/init.d/smbd restart 重启smb服务 以上操作…...

vue3.3-TinyMCE:TinyMCE富文本编辑器基础使用

一、TinyMCE官网 GitHub - tinymce/tinymce TinyMCE中文文档中文手册 二、官网介绍 TinyMCE是一款易用、且功能强大的所见即所得的富文本编辑器。同类程序有&#xff1a;UEditor、Kindeditor、Simditor、CKEditor、wangEditor、Suneditor、froala等等。 TinyMCE的优势&…...

基于以太坊+IPFS的去中心化数据交易方法及平台

自己的论文&#xff0c;哎费事 目录 基于以太坊IPFS的去中心化数据交易方法及平台 基于以太坊IPFS的去中心化数据交易方法及平台 摘要&#xff1a; 数据交易过程中存在数据权属不明和数据安全问题。本文开发了一种基于以太坊IPFS的去中心化数据交易方法及平台。方法包括&am…...

NestJS 的 拦截器 学习

拦截器会用到RxJs&#xff0c;所以在学习拦截器之前可以先了解一下它。 拦截器是使用Injectable()装饰器装饰的类并且实现了接口NestInterceptor。 拦截器受到 AOP(面向切面编程)技术的启发&#xff0c;具有如下的功能&#xff1a; 在方法执行之前/之后绑定额外的逻辑转换函…...

Spring AOP 中的代理对象是怎么创建出来的?

文章目录 1. AOP 用法2. 原理分析2.1 doCreateBean2.2 postProcessAfterInitialization2.3 getAdvicesAndAdvisorsForBean2.3.1 findCandidateAdvisors2.3.2 findAdvisorsThatCanApply2.3.3 extendAdvisors 2.4 createProxy 今天和小伙伴们聊一聊 Spring AOP 中的代理对象是怎么…...

解决@Scope(“prototype“)不生效的问题

目录 Scope(“prototype“)不生效Scope(“prototype“)正确用法——解决Bean多例问题 1.问题&#xff0c;Spring管理的某个Bean需要使用多例2.问题升级3. Spring给出的解决问题的办法&#xff08;解决Bean链中某个Bean需要多例的问题&#xff09; Scope(“prototype“)不生效 …...

Mybatis 知识点

Mybatis 知识点 1.1 Mybatis 简介 1.1.1 什么是 Mybatis Mybatis 是一款优秀的持久层框架支持定制化 SQL、存储过程及高级映射Mybatis 几乎避免了所有的 JDBC 代码和手动设置参数以及获取结果集MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO…...

PHP中关于is,between,in等运算符的用法是什么?

我们学习了解了这么多关于PHP的知识&#xff0c;不知道你们对PHP中关于is&#xff0c;between&#xff0c;in等运算符的用法是什么&#xff1f;是否已经完全掌握了呢&#xff0c;如果没有&#xff0c;那就跟随本篇文章一起继续学习吧 相关推荐&#xff1a;关于PHP中的增删改如…...

2023-07-29:华清远见嵌入式2017年线下班:文件IO笔记

这里写目录标题 华清远见嵌入式2017年线下班&#xff1a;文件IO笔记文件权限文件IO文件创建和打开操作文件关闭操作出错处理创建设备文件 || create || 老师自己忘了文件读操作练习&#xff1a;计算文件的大小&#xff1f;文件写操作练习&#xff1a;打开file1和file2&#xff…...

2023年第四届“华数杯”数学建模思路 - 复盘:光照强度计算的优化模型

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米&#xff0c;宽为12米&#xff0…...

Typescript第七章 处理错误(返回null,抛出异常,返回异常,Option类型)

第七章 处理错误 Typescript竭尽所能&#xff0c;把运行时异常转移到编译时。Typescript是功能丰富的系统&#xff0c;加上强大的静态和符号分析能力&#xff0c;包揽了大量辛苦的工作。 但是有些问题是无法避免的&#xff0c;比如网络和文件系统异常&#xff0c;解析用户输入…...

Qt库xcb问题

首先在~/.bashrc中加入 export QT_DEBUG_PLUGINS1然后看具体的报错 查看某个库链接的库&#xff1a; ldd libqxcb.so然后找到真正缺少的库&#xff0c;再在路径下搜索&#xff0c;然后建立软链接。 https://blog.csdn.net/LOVEmy134611/article/details/107212845 https://…...

C++ | 哈希表的实现与unordered_set/unordered_map的封装

目录 前言 一、哈希 1、哈希的概念 2、哈希函数 &#xff08;1&#xff09;直接定址法 &#xff08;2&#xff09;除留余数法 &#xff08;3&#xff09;平方取中法&#xff08;了解&#xff09; &#xff08;4&#xff09;随机数法&#xff08;了解&#xff09; 3、哈…...

【漏洞挖掘】Xray+rad自动化批量漏洞挖掘

文章目录 前言一、挖掘方法二、使用步骤工具安装使用方法开始挖掘 总结 前言 自动化漏洞挖掘是指利用计算机程序和工具来扫描、分析和检测应用程序、网络和系统中的安全漏洞的过程。这种方法可以帮助安全专家和研究人员更高效地发现和修复潜在的安全威胁&#xff0c;从而提高整…...

Swagger UI教程 API 文档和Node的使用

在团队开发中&#xff0c;一个好的 API 文档可以减少很多交流成本&#xff0c;也可以使一个新人快速上手业务。 前言 swagger ui是一个API在线文档生成和测试的利器&#xff0c;目前发现最好用的。为什么好用&#xff1f;Demo 传送门 支持API自动生成同步的在线文档 这些文档可…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...

xmind转换为markdown

文章目录 解锁思维导图新姿势&#xff1a;将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件&#xff08;ZIP处理&#xff09;2.解析JSON数据结构3&#xff1a;递归转换树形结构4&#xff1a;Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...