1. 下载链接
2. 解压后修改配置文件 redis-shake.conf
这部分应该是用户最困惑的地方,为了满足用户的灵活配置,目前开放了较多的配置项,但用户一开始使用并不需要管这么多的项。默认sync模式只需要配置以下几个内容:
source.type
: 源redis的类型,支持一下4种类型:standalone
: 单db节点/主从版模式。如果源端是从多个db节点拉取就选择这个模式,即便是codis等开源的proxy-db架构。sentinel
: sentinel
模式。cluster
: 集群模式。开源的cluster。对于阿里云来说,用户目前无法拉取db的地址,所以此处只能是proxy。proxy
: proxy模式。如果是阿里云redis的集群版,从proxy拉取/写入请选择proxy,从db拉取请选择cluster。正常cluster到cluster同步源端请选择cluster模式,proxy模式目前只用于rump。。source.address
: 源redis的地址,从1.6版本开始我们支持集群版,不同的类型对应不同的地址:standalone
模式下,需要填写单个db节点的地址,主从版需要输入master或者slave的地址。sentinel
模式下,需要填写sentinel_master_name:master_or_slave@sentinel_cluster_address
。sentinel_master_name
表示sentinel配置下master的名字,master_or_slave
表示从sentinel中选择的db是master还是slave,sentinel_cluster_address
表示sentinel的单节点或者集群地址,其中集群地址以分号(;)分割。例如:mymaster:master@127.0.0.1:26379;127.0.0.1:26380
。注意,如果是sentinel模式,目前只能拉取一个master或者slave信息,如果需要拉取多个节点,需要启动多个shake。cluster
模式下,需要填写集群地址,以分号(;)分割。例如:10.1.1.1:20331;10.1.1.2:20441。同样也支持上面sentinel介绍的自动发现机制,包含@
即可,参考3.2。proxy
模式下,需要填写单个proxy的地址,此模式目前仅用于rump
。source.password_raw
:源redis的密码。target.type
: 目的redis的类型,与source.type
一致。注意,目的端如果是阿里云的集群版,类型请填写proxy,填写cluster只会同步db0。target.address
:目的redis的地址。从1.6版本开始我们支持集群版,不同的类型对应不同的地址。 standalone
模式,参见source.address
。sentinel
模式,需要填写sentinel_master_name@sentinel_cluster_address
。sentinel_master_name
表示sentinel配置下master的名字,sentinel_cluster_address
表示sentinel的单节点或者集群地址,其中集群地址以分号(;)分割。例如:mymaster@127.0.0.1:26379;127.0.0.1:26380
cluster
模式,参见source.address
。proxy
模式下,填写proxy的地址,如果是多个proxy,则round-robin循环负载均衡连接,保证一个源端db连接只会对应一个proxy。如果是阿里云的集群版请选择这种模式。target.password_raw
:目的redis的密码。3. 启动脚本:
启动二进制:./redis-shake.linux -conf=redis-shake.conf -type=xxx
# xxx为sync, restore, dump, decode, rump其中之一,全量+增量同步请选择sync。 mac下请使用redis-shake.darwin,windows请用redis-shake.windows.
4、阿里云的说明文档: