天天看点

redis-migrate-tool 支持 3.0以上 (5.0)

已大规模用于生产环境,亲测有效!

下载redis-migrate-tool软件包(注意是tanruixing88的)

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

准备安装

# mv redis-migrate-tool-master redis-migrate-tool

# cd redis-migrate-tool/

# ls

ChangeLog configure.ac dep LICENSE m4 Makefile.am nodes README.md rmt.conf src test

# autoreconf -fvi

autoreconf: Entering directory `.'

autoreconf: configure.ac: not using Gettext

autoreconf: running: aclocal --force -I m4

autoreconf: configure.ac: tracing

autoreconf: configure.ac: creating directory config

autoreconf: running: libtoolize --copy --force

libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config'.

libtoolize: copying file `config/ltmain.sh'

libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.

libtoolize: copying file `m4/libtool.m4'

libtoolize: copying file `m4/ltoptions.m4'

libtoolize: copying file `m4/ltsugar.m4'

libtoolize: copying file `m4/ltversion.m4'

libtoolize: copying file `m4/lt~obsolete.m4'

libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT'

autoreconf: running: /usr/bin/autoconf --force

autoreconf: running: /usr/bin/autoheader --force

autoreconf: running: automake --add-missing --copy --force-missing

configure.ac:36: installing 'config/config.guess'

configure.ac:36: installing 'config/config.sub'

configure.ac:16: installing 'config/install-sh'

configure.ac:16: installing 'config/missing'

src/Makefile.am:34: warning: whitespace following trailing backslash

src/Makefile.am: installing 'config/depcomp'

autoreconf: Leaving directory `.'

[[email protected] redis-migrate-tool]# ./configure

checking for a BSD-compatible install... /bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

$ make

查看帮助

$ src/redis-migrate-tool -h

运行 redis 集群到集群直接的实时迁移

redis-migrate-tool -c braavos.conf -n -o log -d

集群到集群直接的实时迁移配置文件

$ vim rmt.conf

[source]

type: redis cluster

servers:

- 10.16.76.65:10044

[target]

type: redis cluster

servers:

- 10.16.76.141:6380

[common]

listen: 0.0.0.0:8888

注意:

1,实时迁移会在源库和目标库之间  互相同步数据  ,这就要求我们需要指定参数 使得源库到目标库的同步是单向的 ,需要加参数  -n, --noreply          : don't receive the target redis reply

2,同步完以后,切换连接后,删除该同步进程,同步即结束

详细用法见  https://github.com/tanruixing88/redis-migrate-tool