天天看點

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