美文网首页
分布式集群redis数据还原

分布式集群redis数据还原

作者: 测试_飞鸟 | 来源:发表于2019-03-30 22:50 被阅读0次

        在发上一个线上版本之前,由于开发的同学把流程性的东西抛到一边,只想着省事,很多到测试这边的版本都没有打tag,也没有给转测试的脚本文件,为了这次版本的顺利发布,要做一次线上环境的模拟发布流程。所以需要把生产上的redis数据导到测试的redis上面来。

        我们的生产redis用的是阿里云的集群模式,在这里要说明一下,阿里云上面的redis的集群备份显示让我有点谜糊,因为他上面保存的显示的都是DB0开头的文件,当时我还以为只是redis的db0的数据,因为我们用的是db10,所以当时提了工单到阿里云,就问他们怎么只有db0数据,没有db10数据,等了四五个小时,阿里云那边才给回复说db0代表集群中的第一个数据库,不是代表的DB0。好吧,因为是集群模式,下载的下来的redis备份文件是两个rdb文件,但是由于测试环境只是单机模式,那这两个rdb文件要如何还原到单机的redis上面来呢?

        找了好久,终于找到一个方法,那就是把手动把rdb文件合并成一个后,再还原到redis中去,合并方式如下:
cat 1.rdb > dump.rdb
cat 2.rdb >> dump.rdb
如果超过两个,后面的可以依次通过cat x.rdb >> dump.rdb往同一个文件后面合并就行了。
合并后把dump.rdb的文件放到redis的data目录下,重启redis即可生效。

后面测试了一下数据,redis的相关数据是完整的。
生产上mysql相关数据结构也还原到测试环境上,然后进行了预发布,预发布成功后,发现还是有一些脚本少了,更新脚本后,业务正常。
        这一次经历有以下几点可以借鉴:
1、关于流程,一定要规范化,否则很容易出现类似的问题。尽管我们现在的技术团队这一块做得不是很好,但是本人一直在驱动着组内的成员,不管是开发、还是测试或者是运维。只有规范了,这种问题相对来讲会少很多,但也不能完全保证,因为代码和脚本的提交是由开发人员提交,这跟个人的经验以及工作态度和责任心有很大的关系。
2、关于手动合并rdb问题,开始时想了很久一直没想明白要如何还原多个rdb,这个可以算是一个比较好的经验积累。
3、关于预部署,在流程不规范的情况下,这种方式有助于提高发布时不会出现问题的机率。

相关文章

  • Redis集群(一)安装配置和简便槽分配

    为什么要用Redis集群 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行...

  • 一致性hash

    应用领域(数据分布式存储) 数据缓存集群(redis、memcache) hadoop ESearch 分布式数据...

  • 分布式集群redis数据还原

    在发上一个线上版本之前,由于开发的同学把流程性的东西抛到一边,只想着省事,很多到测试这边的版本都没有打tag,也没...

  • 08-redis集群

    redis集群是redis提供分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移功能 节点 集群有...

  • Redis 集群

    1. 集群概述 Redis集群是Redis提供的分布式数据库方案,集群通过分片进行数据共享,提供复制和故障转移功能...

  • Redis的cluster模式

    Redis集群是Redis提供的分布式数据库方案,集群通过分片(Sharding)来进行数据共享,并提供复制和故障...

  • Redis04——五分钟明白Redis的哨兵模式

    和所有的数据库一样,Redis也支持集群化,Redis的集群分为分布式集群和主从集群。大部分公司采取的都是主从集群...

  • Redis 集群规范

    redis手册Redis 集群规范Redis集群安装Redis集群安装 Redis分布式部署,一致性hash;分布...

  • Redis集群模式高可用原理

    什么是 Cluster 集群 Redis 集群是一种分布式数据库方案,集群通过分片(sharding)来进行数据管...

  • Redis Cluster机制分析

    Redis集群是一个分布式、容错的Redis实现,集群实现了单机Redis中所有单个数据键的命令,它是普通单机Re...

网友评论

      本文标题:分布式集群redis数据还原

      本文链接:https://www.haomeiwen.com/subject/svxebqtx.html