当前位置: 首页 > 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自动生成同步的在线文档 这些文档可…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...