1. 程式人生 > >codis/redis數據數據遷移至阿裏雲redis服務器

codis/redis數據數據遷移至阿裏雲redis服務器

edi recv 阿裏雲 日誌 serve ttr 阿裏 con 生產

本次遷移采用了唯品會的開源工具RMT

1.阿裏雲redis服務器的購買

註:要和生產上數據的內存大小一致 不然有些key會遷移失敗

技術分享圖片

很明顯的OOM報錯

2.遷移機器的cpu要足夠 遷移會有一段時間的負載上升 對遷移機器的IOPS有要求

rmt_redis.c:1474 Error: I/O error reading bulk count from MASTER

這種報錯你就需要查看一下 遷移codis服務器的性能了

3.RMT(redis-migrate-tool)工具的安裝

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

cd redis-migrate-tool

autoreconf -fvi (沒有的話yum一下)

./configure

make

4.RMT的配置

[source]
type: single
servers:
- codis:端口

[target]
type: single
servers:
- ali.redis.rds.aliyuncs.com:端口
redis_auth:密碼
[common]
listen: 0.0.0.0:8888
mbuf_size: 1024

5.RMT啟動

redis-migrate-tool -c rmt.conf -o rmt.log -d

6.RMT日誌

出現如下說明 開始備份了

540350520268102-16856.rdb write complete

7.檢查

通知狀態頁和 dbsize 確定 Key 數量是否一致 (初始同步完成) 執行 redis-cli -p 8888 info 確認

# 為 1
all_rdb_received:1 
all_rdb_parsed:1
# Codis group 數量
rdb_received_count:2 
rdb_parsed_count:2

配置服務連接 Redis 實例,檢查 Codis 連接,知道所有連接斷開,執行 redis-cli -p 8888 info 確認

# 為1
all_rdb_received:1 
all_rdb_parsed:1
# Codis group 數量
rdb_received_count:2 
rdb_parsed_count:2
# 一致
total_msgs_recv:27005 
total_msgs_sent:27005
# 為0
total_mbufs_inqueue:0 
total_msgs_outqueue:0

具體配置文件可以參考:https://blog.csdn.net/ahzxj2012/article/details/74347984

codis/redis數據數據遷移至阿裏雲redis服務器