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

Redis集群(3)

集群扩容
节点配置和启动

我们要加入两个节点,主节点端口为6903,从节点端口为6933。配置与6900节点类似,不再赘述。启动这两个节点:

./redis-server ../conf/cluster_m_6903.conf
./redis-server ../conf/cluster_s_6933.conf
加入集群

首先检查集群信息:

./redis-cli --cluster info 127.0.0.1:6900

查看节点信息:

./redis-cli -p 6900  cluster nodes

发现6903和6933是孤立节点,因此需要将它们加入集群。

将主节点6903加入集群

执行:

./redis-cli --cluster add-node 127.0.0.1:6903 127.0.0.1:6900

检查集群信息确认添加成功:

./redis-cli --cluster info 127.0.0.1:6900
./redis-cli -p 6900  cluster nodes
将从节点6933加入集群

执行:

./redis-cli --cluster add-node 127.0.0.1:6933 127.0.0.1:6900 --cluster-slave --cluster-master-id 67dd0e8160a5bf8cd0ca02c2c6268bb9cc17884c

同时将节点6903作为从节点6933的主节点。

迁移槽和数据

现在,我们开始分配槽位。假设每个节点应平均分配槽位,因此我们将从节点6900、6901、6902中迁出一部分槽位给节点6903,共计4096个槽位。

执行:

./redis-cli --cluster reshard 127.0.0.1:6900

Redis会询问要迁移的槽位数和目标节点的ID。我们输入4096和目标节点ID。

然后,Redis会询问要从哪些源节点迁移槽位,我们选择"all"。

Redis显示迁移计划后,确认并开始迁移。迁移完成后,检查集群信息以确保槽位迁移成功。

集群缩容
迁移槽和数据

我们使用以下命令迁移槽位和数据:

./redis-cli --cluster reshard --cluster-from 要迁出节点ID --cluster-to 接收槽位的节点ID --cluster-slots 迁出的槽位数量 已存在节点IP 端口

例如,将1365个槽位迁移到6900节点:

./redis-cli --cluster reshard --cluster-from 67dd0e8160a5bf8cd0ca02c2c6268bb9cc17884c --cluster-to 7353cda9e84f6d85c0b6e41bb03d9c4bd2545c07 --cluster-slots 1365 127.0.0.1:6900

重复此过程,将槽位逐一迁移到目标节点。等待所有槽位迁移完成后,检查集群信息确认迁移成功。

下线节点

使用以下格式下线节点:

./redis-cli --cluster del-node 已存在节点:端口 要删除的节点ID

例如:

./redis-cli --cluster del-node 127.0.0.1:6900 67dd0e8160a5bf8cd0ca02c2c6268bb9cc17884c
./redis-cli --cluster del-node 127.0.0.1:6900 23c0ca7519a181f6ff61580eca014dde209f7a67

检查集群信息确认节点已下线,然后关闭节点即可。

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

相关文章:

  • 防止Selenium被检测 Google Chrome 125
  • LeetCode 算法:螺旋矩阵c++
  • 【全开源】医护上门系统小程序APP公众号h5源码
  • 结构体<C语言>
  • 点云分割报告整理(未完成版-每天写一点)
  • python基础 002 - 1 基础语法
  • 浅谈Web开发的三大主流框架:Angular、React和Vue.js
  • 使用net.sf.mpxj读取project的.mpp文件
  • ubuntu 22.04 升级到24.04
  • FreeRTOS学习笔记-基于stm32(14)内存管理
  • 关于Lambert W函数
  • 【免杀】C2远控-APC注入-进程镂空
  • 20240611 讯飞JAVA工程师(研发经理岗)面试
  • 【研发日记】Matlab/Simulink软件优化(三)——利用NaNFlag为数据处理算法降阶
  • go语言接口之http.Handler接口
  • R语言 | 使用最简单方法添加显著性ggpubr包
  • 【Linux】shell脚本变量——系统变量、环境变量和用户自定义变量
  • QWidget 属性——windowTitle·windowIcon·qrc
  • 深入理解rtmp(一)之开发环境搭建
  • java常用面试基础题
  • 互联网摸鱼日报(2024-06-11)
  • 中介子方程十二
  • SLT简介【简单介绍SLT】
  • vue实现pdf下载——html2canvas
  • 安装docker+mysql的一些坑
  • React Native采集数据离线存储、网络状态监控、加密上传、鉴权
  • 网络数据库后端相关面试题(其三)
  • Hadoop之HDFS分布式文件系统
  • 插入删除单链表指定结点-偷天换日法
  • MybatisPlus代码生成器使用案例