redis 数据迁移(单节点-》集群)

redis 数据迁移(RDB文件-》集群)成功基础上再接再厉,迁移单节点到集群

注意一下涉及到的文件格式:要确保换行编码-LF(UNIX)

1. 网络互通检查

首先检查集群使用网段:

$ docker network lsNETWORK ID    NAME                            DRIVER    SCOPEbfa40a6eb2ba  bridge                          bridgelocalb6055b32849c  docker-redis-cluster_redisnet  bridgelocal复制代码

集群使用网络docker-redis-cluster_redisnet

2 单节点redis

2.1 配置文件

redis.conf

port 6379cluster-enabled nocluster-config-file nodes.confcluster-node-timeout 5000appendonly no复制代码

2.2 docker-compose.yml

这里使用和集群一个网段:docker-redis-cluster_redisnet

注意-- external:true

version:'3'networks:docker-redis-cluster_redisnet:external:trueservices:redis:image:redis:6.0.9container_name:redishostname:redisrestart:alwaysports:-7000:6379networks:docker-redis-cluster_redisnet:ipv4_address:10.0.0.9volumes:-./conf/redis.conf:/etc/redis/redis.conf-./data/:/data/command:redis-server/etc/redis/redis.conf--appendonlyno复制代码

2.3 部署一个单节点redis

$ docker-compose up --build -dCreating redis ...done复制代码

3. 单节点--》集群迁移

3.1 获得迁移镜像

$ docker pull lyman1567/redis-migrate-toolUsing default tag: latestlatest: Pulling from lyman1567/redis-migrate-tool2d473b07cdd5: Pull completedb3f9a69e07b: Pull completeDigest: sha256:c6d39642f42d1882058664a10920cdff97b1439d4c5a91593549d8c1b3e68529Status: Downloaded newer imageforlyman1567/redis-migrate-tool:latestdocker.io/lyman1567/redis-migrate-tool:latest复制代码

3.2 迁移数据配置(rmt.conf)

C:/redis-migrate-tool/data/conf/rmt.conf

注:集群-集群--只需要把type:single改成type: redis cluster就可

#rmt.conf[source]type: singleservers: - 10.0.0.9:6379[target]type: redis clusterservers: - 10.0.0.10:6379[common]listen: 0.0.0.0:8888复制代码

3.3 开始嵌入单节点

$ docker psCONTAINER ID  IMAGE                COMMAND                  CREATED          STATUS          PORTS                    NAMES8986142ff4d4  redis:6.0.9"docker-entrypoint.s…"11 minutes ago  Up 11 minutes  0.0.0.0:7000->6379/tcp  redis9775b194c25b  redis-cluster-node"/bin/bash /start.sh"51 minutes ago  Up 51 minutes  0.0.0.0:6380->6379/tcp  docker-redis-cluster_redis-2_1419e4364c06f  redis-cluster-node"/bin/bash /start.sh"51 minutes ago  Up 51 minutes  0.0.0.0:6384->6379/tcp  docker-redis-cluster_redis-6_1e3a6230f2a20  redis-cluster-node"/bin/bash /start.sh"51 minutes ago  Up 51 minutes  0.0.0.0:6382->6379/tcp  docker-redis-cluster_redis-4_1bf62da9c04d9  redis-cluster-node"/bin/bash /start.sh"51 minutes ago  Up 51 minutes  0.0.0.0:6381->6379/tcp  docker-redis-cluster_redis-3_1a507843f88eb  redis-cluster-node"/bin/bash /start.sh"51 minutes ago  Up 51 minutes  0.0.0.0:6379->6379/tcp  docker-redis-cluster_redis-1_1843d7f746595  redis-cluster-node"/bin/bash /start.sh"51 minutes ago  Up 51 minutes  0.0.0.0:6383->6379/tcp  docker-redis-cluster_redis-5_1复制代码

把工具嵌入此name:redis的单节点

$ docker run -it --network=container:8986142ff4d4 --pid=container:8986142ff4d4 -v C:/redis-migrate-tool/data/conf:/usr/local/etc lyman1567/redis-migrate-tool bash复制代码

4. 进入容器验证迁移配置

[root@redis /]# cd /usr/local/etc[root@redis etc]# lsrmt.conf[root@redis etc]# vi rmt.conf[source]type: singleservers: - 10.0.0.9:6379[target]type: redis clusterservers: - 10.0.0.10:6379[common]listen: 0.0.0.0:8888复制代码

5. 执行迁移并查看output.log文件

5.1 执行迁移

[root@redis etc]# redis-migrate-tool -c rmt.conf -o output.log -d[root@redis etc]#复制代码

5.2 查看output.log文件

和output.log同目录下会出现node10.0.0.96379@16379-1612084077217638-4314.rdb等临时文件

临时文件消失时,就证明迁移完毕了

[2021-01-31 08:09:52.784] rmt_core.c:525 Nodes count of source group : 1[2021-01-31 08:09:52.784] rmt_core.c:526 Total threads count : 12[2021-01-31 08:09:52.785] rmt_core.c:527 Read threads count assigned: 1[2021-01-31 08:09:52.785] rmt_core.c:528 Write threads count assigned: 1[2021-01-31 08:09:52.785] rmt_core.c:836 instances_by_host:[2021-01-31 08:09:52.786] rmt_core.c:840 10.0.0.9:6379[2021-01-31 08:09:52.786] rmt_core.c:842 [2021-01-31 08:09:52.786] rmt_core.c:2443 Total threads count in fact: 2[2021-01-31 08:09:52.786] rmt_core.c:2444 Read threads count in fact: 1[2021-01-31 08:09:52.786] rmt_core.c:2445 Write threads count in fact: 1[2021-01-31 08:09:52.787] rmt_core.c:2454 read thread(0):[2021-01-31 08:09:52.787] rmt_core.c:2460 10.0.0.9:6379[2021-01-31 08:09:52.787] rmt_core.c:2487 write thread(0):[2021-01-31 08:09:52.787] rmt_core.c:2493 10.0.0.9:6379[2021-01-31 08:09:52.788] rmt_core.c:2550 migrate job is running...[2021-01-31 08:09:52.788] rmt_redis.c:1735 Start connecting to MASTER[10.0.0.9:6379].[2021-01-31 08:09:52.788] rmt_redis.c:1769 Master[10.0.0.9:6379] replied to PING, replication can continue...[2021-01-31 08:09:52.788] rmt_redis.c:1080 Partial resynchronization for MASTER[10.0.0.9:6379] not possible (no cached master).[2021-01-31 08:09:52.798] rmt_redis.c:1139 Full resync from MASTER[10.0.0.9:6379]: 59f526849c29aa8b2dbb2d835fc85bc91d326739:0[2021-01-31 08:10:59.012] rmt_redis.c:1546 MASTER <-> SLAVE sync: receiving 1151163248 bytes from master[10.0.0.9:6379][2021-01-31 08:11:44.377] rmt_redis.c:1652 MASTER <-> SLAVE sync: RDB data for node[10.0.0.9:6379] is received, used: 111 s[2021-01-31 08:11:44.377] rmt_redis.c:1672 rdb file node10.0.0.9:6379-1612080592798302-63.rdb write complete[2021-01-31 08:13:31.756] rmt_redis.c:6685 Rdb file for node[10.0.0.9:6379] parsed finished, use: 107 s.[2021-01-31 08:13:31.873] rmt_redis.c:6793 All nodes' rdb file parsed finished for this write thread(0).复制代码

6. 验证集群

127.0.0.1:6379> info....# Keyspacedb0:keys=495601,expires=0,avg_ttl=0

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容