Redis数据迁移

将集群 A 数据最终迁移到阿里云reids C 上

由于各种网络限制的原因,加了个中转的redis,当然这些ip都是假的

A (192.168.1.1)源集群

B (192.168.2.2) 中转数据

C (192.168.3.3) 目标集群

A只能与B通信 C也只能与B通信 ,C是个阿里云的pass服务,无法直接加载rdb文件

一、源集群A查看

  1. 连接redis集群

    ./redis-cli -c -h 192.168.1.1 -p 6379 -a '密码'

  2. 查看reids服务信息

    info server

  3. 统计数据库键空间的信息

    info keyspace

二、导出数据

2.1 导出rdb文件

bash 复制代码
/opt/redis/bin/redis-cli -c -h 192.168.1.1 -p 6379 -a 'kn88213**27' --rdb /data/great/dumped_source.rdb

2.2. 通过scp传输到B

bash 复制代码
scp -r -P 22 /data/great/dumped_source.rdb  root@192.168.2.2:/data/great/

三、搭建中转的redis B,并替换rdb文件

3.1 临时安装了一个redis 中转数据,安装步骤省略

3.2 . 停止redis服务

bash 复制代码
ps -ef|grep redis
kill -9 进程号

3.3. 将A导出的rdb文件,放到B下的数据目录

bash 复制代码
mv /data/great/dumped_source.rdb  /data/soft/redis/bin

3.4. 删除原来的dump.rdb,并替换

bash 复制代码
rm -rf dump.rdb
mv dumped_source.rdb dump.rdb

3.5 然后启动 B redis

bash 复制代码
./redis-server /etc/redis.conf

3.6. 登录查看数据是否恢复成功

bash 复制代码
/data/soft/redis/bin/redis-cli -p 6319
info keyspace

四、通过 redis-shake 工具将数据同步到 C 192.168.3.3

4.1 清空目标库

bash 复制代码
/data/soft/redis/bin/redis-cli -h 192.168.3.3 -p 6379 -a 'p8122295s9YtHUG3Yv7'

清空

bash 复制代码
select 3
flushdb

4.2 下载redis-shake工具解压,修改配置文件shake.toml
https://github.com/tair-opensource/RedisShake/releases

bash 复制代码
redis-shake-v4.5.0-linux-amd64.tar.gz

修改配置文件

bash 复制代码
cd /data/soft/shake 
vim shake.toml
bash 复制代码
[sync_reader]
address = "127.0.0.1:6319"
sync_aof = false 
[redis_writer]
address = "192.168.3.3:6379"
password = "122295s9YtHUG3Yv7"
[filter]
allow_db = [8]
function = """
if DB == 8 then
    shake.log("Moving key '" .. KEYS[1] .. "' from DB8 to DB7")
    shake.call(7, ARGV) -- 将命令的目标数据库改为 3
else
    -- 理论上,由于 allow_db=[8],这里的代码不会被执行到
    shake.log("Skipping DB " .. DB)
end
"""

4.3 启动redis-shake工具开始同步

bash 复制代码
./redis-shake shake.toml
相关推荐
向夏威夷 梦断明暄2 分钟前
C# 弃元模式:从语法糖到性能利器的深度解析
服务器·数据库·c#
糖果店的幽灵26 分钟前
大模型测评DeepEval快速入门-RAG指标详解
数据库·人工智能·langgraph·大模型测评·deepeval
whn19771 小时前
oracle的节点2无法启动asm实例 提示PMON terminating the instance due to error 481
数据库·oracle·wpf
Devin~Y1 小时前
互联网大厂 Java 面试实录:Spring Boot、MyBatis、Redis、Kafka、Spring Security、RAG 与 MCP 全链路问答
java·redis·kafka·mybatis·spring security·spring mvc·sprint boot
AAA@峥2 小时前
Ceph 集群配置管理完整指南
运维·数据库·分布式·ceph
旺仔学长 哈哈2 小时前
基于SpringBoot的在线招聘测评系统的设计与实现----附源码35253+数据库文档
数据库·spring boot·后端·在线招聘
海兰2 小时前
【高速缓存】 RedisVL MCP 运行指南(下)
人工智能·redis·哈希算法·高速缓存
吴声子夜歌2 小时前
MongoDB 4.2——索引(二)
数据库·mongodb·索引
米码收割机2 小时前
【Python】Django恒达科技门户网站(源码+文档)【独一无二】
数据库·python·科技