当前位置: 首页 > 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可视化客户端链接

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

http://www.lryc.cn/news/104903.html

相关文章:

  • swing组件应用
  • Spring学习记录----十五、面向切面编程AOP+十六、Spring对事务的支持
  • Color Correction (颜色校正)
  • Unity-缓存池
  • ubuntu samba 配置常见问题
  • vue3.3-TinyMCE:TinyMCE富文本编辑器基础使用
  • 基于以太坊+IPFS的去中心化数据交易方法及平台
  • NestJS 的 拦截器 学习
  • Spring AOP 中的代理对象是怎么创建出来的?
  • 解决@Scope(“prototype“)不生效的问题
  • Mybatis 知识点
  • PHP中关于is,between,in等运算符的用法是什么?
  • 2023-07-29:华清远见嵌入式2017年线下班:文件IO笔记
  • 2023年第四届“华数杯”数学建模思路 - 复盘:光照强度计算的优化模型
  • Typescript第七章 处理错误(返回null,抛出异常,返回异常,Option类型)
  • Qt库xcb问题
  • C++ | 哈希表的实现与unordered_set/unordered_map的封装
  • 【漏洞挖掘】Xray+rad自动化批量漏洞挖掘
  • Swagger UI教程 API 文档和Node的使用
  • P5691 [NOI2001] 方程的解数
  • rust里用什么表示字节类型?
  • CMake简介
  • [threejs]相机与坐标
  • Qt信号与槽机制的基石-MOC详解
  • 关于单体架构缓存刷新实现方案
  • 洞悉安全现状,建设网络安全防护新体系
  • spring中怎么通过静态工厂和动态工厂获取对象以及怎么通过 FactoryBean 获取对象
  • 三元组表实现矩阵相加(数据结构)
  • ChinaJoy 2023微星雷鸟17游戏本震撼发布:搭载AMD锐龙9 7945HX首发8499元
  • 各种运算符