redis-cluster 集群搭建和迁移(二)

2024-08-22 20:32

本文主要是介绍redis-cluster 集群搭建和迁移(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上一篇写了redis-cluster集群的搭建过程,这里讲一下redis的迁移过程,因为以前的生产环境是单实例的,所有迁移起来比较麻烦,参考了一下网上的资料,可以使用修改卡槽的办法来实现迁移。

具体的思路是这样,redis 包含16348 个卡槽,是hash分布的,所有的数据都分布在上面,先把redis-cluster所有的卡槽全部集中到一个节点9000上,然后在单节点上通过rds 持久化数据,把持久化后的数据迁移到redis-cluster 集群节点9000上,在把9000节点上的卡槽平均分配给其他节点。整个迁移过程就完成了

首先查看redis-cluster卡槽分布

/usr/local/redis/redis-5.0.5/src/redis-cli --cluster check 192.168.53.134:9000

然后把所有的卡槽全部分配给9000

/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000

查询单机redis dump 目录

config get dir

保存dump 文件

save

关闭redis-cluster 节点

/usr/local/redis/redis-5.0.5/src/redis-cli -h 192.168.1.53 -p 9000 -c shutdown

拷贝dump 文件至redis-cluster 9000节点目录,重启9000节点,数据就拷贝到redis-cluster集群了

 

再把卡槽重新分配给其他节点就可以了

最后把卡槽平均分配给其他节点
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to 9f7c851dc9050a236f6d23585320a8723b1cac86 --cluster-slots 2731
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to 57ddb3016bd4540a51d05fafe62525c16f6fec24 --cluster-slots 2731
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to ff7101567fc6e88542ac850d974991a58723efbc --cluster-slots 2731
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to 7ad32731d45731b6feae98cb0b2d0556ad5b6de8 --cluster-slots 2730
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to 765551aa364e61e2e867023e774124a93fb0d263 --cluster-slots 2730

 

这篇关于redis-cluster 集群搭建和迁移(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097320

相关文章

redis数据结构之String详解

《redis数据结构之String详解》Redis以String为基础类型,因C字符串效率低、非二进制安全等问题,采用SDS动态字符串实现高效存储,通过RedisObject封装,支持多种编码方式(如... 目录一、为什么Redis选String作为基础类型?二、SDS底层数据结构三、RedisObject

Redis分布式锁中Redission底层实现方式

《Redis分布式锁中Redission底层实现方式》Redission基于Redis原子操作和Lua脚本实现分布式锁,通过SETNX命令、看门狗续期、可重入机制及异常处理,确保锁的可靠性和一致性,是... 目录Redis分布式锁中Redission底层实现一、Redission分布式锁的基本使用二、Red

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

Spring Integration Redis 使用示例详解

《SpringIntegrationRedis使用示例详解》本文给大家介绍SpringIntegrationRedis的配置与使用,涵盖依赖添加、Redis连接设置、分布式锁实现、消息通道配置及... 目录一、依赖配置1.1 Maven 依赖1.2 Gradle 依赖二、Redis 连接配置2.1 配置 R

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

redis中session会话共享的三种方案

《redis中session会话共享的三种方案》本文探讨了分布式系统中Session共享的三种解决方案,包括粘性会话、Session复制以及基于Redis的集中存储,具有一定的参考价值,感兴趣的可以了... 目录三种解决方案粘性会话(Sticky Sessions)Session复制Redis统一存储Spr

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k