新聞中心
Redis-Migrate-Tool(都簡(jiǎn)稱RMT),是唯品會(huì)開(kāi)源的redis數(shù)據(jù)遷移工具,主要用于異構(gòu)redis集群間的數(shù)據(jù)在線遷移,即數(shù)據(jù)遷移過(guò)程中源集群仍可以正常接受業(yè)務(wù)讀寫請(qǐng)求,無(wú)業(yè)務(wù)中斷服務(wù)時(shí)間。

達(dá)州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
特點(diǎn)
快速
多線程
基于redis復(fù)制
實(shí)時(shí)遷移
遷移過(guò)程中,源集群不影響對(duì)外提供服務(wù)
異構(gòu)遷移
支持Twemproxy集群,redis cluster集群,rdb文件 和 aof文件
過(guò)濾功能
當(dāng)目標(biāo)集群是Twemproxy,數(shù)據(jù)會(huì)跳過(guò)Twemproxy直接導(dǎo)入到后端的redis
遷移狀態(tài)顯示
完善的數(shù)據(jù)抽樣校驗(yàn)
遷移工具的來(lái)源可以是:?jiǎn)为?dú)的redis實(shí)例,twemproxy集群,redis cluster,rdb文件,aof文件。
遷移工具的目標(biāo)可以是:?jiǎn)为?dú)的redis實(shí)例,twemproxy集群,redis cluster,rdb文件。
版本說(shuō)明
https://github.com/vipshop/redis-migrate-tool #僅支持redis3及以下版本
https://github.com/tanruixing88/redis-migrate-tool #基于上述版本修改,支持redis4及以上版本
依賴
yum -y install automake libtool autoconf bzip2
安裝
git clone https://github.com/tanruixing88/redis-migrate-tool.git
redis-migrate-tool
autoreconf -fvi
./configure
make
cp src/redis-migrate-tool /usr/local/bin/redis-migrate-tool
配置文件rmt.conf
配置文件示例:從redis cluster集群遷移數(shù)據(jù)到twemproxy集群
[source]
type: redis cluster
servers:
- 127.0.0.1:6379
- 127.0.0.1:6380
- 127.0.0.1:6381
- 127.0.0.1:6382
[target]
type: twemproxy
hash: fnv1a_64
hash_tag: "{}"
distribution: ketama
servers:
- 127.0.0.1:6380:1 server1
- 127.0.0.1:6381:1 server2
- 127.0.0.1:6382:1 server3
- 127.0.0.1:6383:1 server4
[common]
listen: 0.0.0.0:8888
threads: 2
step: 1
mbuf_size: 1024
source_safe: true
配置文件示例:從redis cluster集群遷移數(shù)據(jù)到另外一個(gè)cluster集群
[source]
type: redis cluster
servers:
- 127.0.0.1:8379
[target]
type: redis cluster
servers:
- 127.0.0.1:7379
[common]
listen: 0.0.0.0:8888
配置文件示例:從rdb文件恢復(fù)數(shù)據(jù)到redis cluster集群
[source]
type: rdb file
servers:
- /data/redis/dump1.rdb
- /data/redis/dump2.rdb
- /data/redis/dump3.rdb
[target]
type: redis cluster
servers:
- 127.0.0.1:7379
[common]
listen: 0.0.0.0:8888
運(yùn)行
/usr/local/bin/redis-migrate-tool -c rmt.conf -o log -d
狀態(tài)
通過(guò)redis-cli連接redis-migrate-tool監(jiān)控的端口,運(yùn)行info命令
redis-cli -h 127.0.0.1 -p 8888
127.0.0.1:8888> info
# Server
version:0.1.0
os:Linux 2.6.32-573.12.1.el6.x86_64 x86_64
multiplexing_api:epoll
gcc_version:4.4.7
process_id:9199
tcp_port:8888
uptime_in_seconds:1662
uptime_in_days:0
config_file:/ect/rmt.conf
# Clients
connected_clients:1
max_clients_limit:100
total_connections_received:3
# Memory
mem_allocator:jemalloc-4.0.4
# Group
source_nodes_count:32
target_nodes_count:48
# Stats
all_rdb_received:1
all_rdb_parsed:1
all_aof_loaded:0
rdb_received_count:32
rdb_parsed_count:32
aof_loaded_count:0
total_msgs_recv:7753587
total_msgs_sent:7753587
total_net_input_bytes:234636318
total_net_output_bytes:255384129
total_net_input_bytes_human:223.77M
total_net_output_bytes_human:243.55M
total_mbufs_inqueue:0
total_msgs_outqueue:0
127.0.0.1:8888>
數(shù)據(jù)校驗(yàn)
/usr/local/bin/redis-migrate-tool -c rmt.conf -o log -C redis_check
Check job is running...
Checked keys: 1000
Inconsistent value keys: 0
Inconsistent expire keys : 0
Other check error keys: 0
Checked OK keys: 1000
All keys checked OK!
Check job finished, used 1.041s
當(dāng)前名稱:詳解Redis集群快捷遷移工具:Redis-migrate-tool
文章起源:http://m.fisionsoft.com.cn/article/coccijs.html


咨詢
建站咨詢
