redis-migrate-tool跨机房同步工具

宗政昱
2023-12-01

1、安装依赖

yum -y install automake libtool autoconf bzip2

2、编译安装

mkdir -p /usr/local/software && cd /usr/local/software

安装git

yum install git -y

clone 源码

git clone https://github.com/tanruixing88/redis-migrate-tool.git

编译

cd redis-migrate-tool
autoreconf -fvi && ./configure && make

配置环境

cp src/redis-migrate-tool /usr/local/bin/redis-migrate-tool

修改配置文件如下

vim /usr/local/software/redis-migrate-tool/rmt.conf

[source]
type: redis cluster
servers:
-192.168.9.221:6379
-192.168.9.221:6380
-192.168.9.222:6379
-192.168.9.222:6380
-192.168.9.223:6379
-192.168.9.223:6380

[target]
type: redis cluster
servers:
-192.168.8.221:6379
-192.168.8.221:6380
-192.168.8.222:6379
-192.168.8.222:6380
-192.168.8.223:6379
-192.168.8.223:6380

[common]
listen: 0.0.0.0:8888

3、后台启动redis-migrate-tool

redis-migrate-tool -c /usr/local/software/redis-migrate-tool/rmt.conf -o /usr/local/software/redis-migrate-tool/log -d

注意:-d指定为后台运行,如果再次运行可能需要杀死占用当前端口的进程。
netstat -tnulp查看找到redis-migrate-tool的端口号,kill -9 [端口号]杀死再运行。

4、查看日志信息同步是否成功

tail -f /usr/local/software/redis-migrate-tool/log

测试下来情况:
redis-migrate-tool只能在两个集群中某一个节点上运行(可以不是redis集群中的节点),而不能在某一集群多节点中部署,多节点多节点运行时另一方集群节点redis-migrate-tool端口会因为内存占用过高被系统自动kill

参考文章:

Redis集群跨机房数据实时同步
Github vipshop

 类似资料: