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
相关推荐
2301_800954995 分钟前
关系型数据库与非关系型数据库详解
数据库·nosql
崖边看雾6 分钟前
MySQL——SQL 经典练习题:学生选课成绩查询(附详细注释)
大数据·数据库·sql·mysql
众壹新能源科技7 分钟前
经营口径与运维口径不一致时,发电量报表怎么对账
运维·数据库·人工智能
夕除17 分钟前
redis--011
redis
hui-梦苑20 分钟前
[Gromacs]核心性能梯度测试:GROMACS 多线程性能调优实验
缓存·性能优化·多线程·gromacs·动力学模拟
jyOverQ32 分钟前
MySQL 索引为什么能加快查询?B+Tree 到底是什么?
数据库·mysql
天天进步20151 小时前
Pixelle-Video 源码解析 #17:TTS 语音生成:Edge-TTS、Index-TTS 如何接入?
前端·数据库
鸽芷咕1 小时前
异构数据同步,凭什么敢说数据不丢?——拆解金仓KFS的全周期一致性校验
数据库
海浪仙人掌1 小时前
账龄分析的定义是什么?账龄分析有什么作用?
数据库
ACP广源盛139246256731 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#IX6024 PCIe2.0 交换芯片在轻量化 AI 服务中的机会与应用场景
大数据·数据库·人工智能·嵌入式硬件·macos·开源