本次由于安全漏洞原因,需要降redis3升级为redis6,涉及到数据迁移及校验等,用阿里redis-shake迁移工具迁移,并用阿里RedisFullCheck工具进行数据比对

一、新redis安装启动

开启老版本redis的哨兵模式,编辑完sentinel.conf后执行哨兵模式启动,主节点均要配置哨兵,再分别重启每个老版本redis节点

./redis-cli -h host -p port -a password shutdown

准备redis-6.2.4.tar.gz包,放到需要安装部署的目录下,执行tar -zxvf redis-6.2.4.tar.gz 降tar包解压到当前文件夹

进入redis-6.2.4,执行如下命令安装gcc新版本,否则安装可能会报错

yum install gcc

再执行

make && make PREFIX=/data/program/redis6 install

安装redis6并指定redis6的目录

执行完上述命令后,继续执行

make test

确认安装是否有问题

如果出现错误,则执行

make distclean

清理一下之前的安装遗留,再重新安装

以上步骤完成后,配置redis并启动redis

配置redis.conf文件,执行

redis-server ../conf/7000/redis.conf
redis-server ../conf/7001/redis.conf
redis-server ../conf/7002/redis.conf
redis-server ../conf/7003/redis.conf
redis-server ../conf/7004/redis.conf
redis-server ../conf/7005/redis.conf

 启动redis,并设置主从节点

redis-cli -a password123 --cluster create 127.0.0.1:7000 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

 自此新redis配置并启动完成,可以去node.conf下看主从节点信息

二、数据迁移

下载redis-shake-v2.0.3.tar.gz并放入需要安装的目录下,解压此文件,进入解压后目录,配置redis-shake.conf

一般只需要改如下参数即可

#source.type是源redis的类型,standalone为主从,cluster为集群,默认standalone
source.type = cluster #source.address是源redis地址,一般只需要填主节点
source.address=127.0.0.1:7001;127.0.0.1:7002;127.0.0.1:7003 #source.password_raw 是源redis密码
source.password_raw = 123456 #目标redis的配置同理
target.type = cluster
target.address = 192.168.0.1:7001;192.168.0.1:7002;192.168.0.1:7003
target.password_raw= 123456

配置好执行

./start.sh ./redis-shake.conf sync

执行之后会报错,缺少hypervisor

./start.sh: line 20: ./hypervisor: No such file or directory

去github官网下载这个文件,再手工进行编译即可。

wget https://github.com/alibaba/RedisShake/blob/develop/scripts/hypervisor.c

gcc -Wall -O3 hypervisor.c -o hypervisor

三、服务重启验证

将服务停止后,停止redis-shake迁移服务,并用RedisFullCheck校验redis迁移数据是否完整

改好配置文件后,重启服务,验证业务是否正常。

redis集群升级,数据迁移及校验的更多相关文章

  1. 在 Istio 中实现 Redis 集群的数据分片、读写分离和流量镜像

    Redis 是一个高性能的 key-value 存储系统,被广泛用于微服务架构中.如果我们想要使用 Redis 集群模式提供的高级特性,则需要对客户端代码进行改动,这带来了应用升级和维护的一些困难.利 ...

  2. 用redis-dump工具对redis集群所有数据进行导出导入

    安装redis-dump redis-dump是基于ruby开发,需要ruby环境,而且新版本的redis-dump要求2.2.2以上的ruby版本,centos中yum只能安装2.0版本的ruby. ...

  3. redis 3.0 集群__数据迁移和伸缩容

    添加节点 1,启动2个新的redis-sever, 参照 ( redis 3.0 集群____安装 ),端口号为 7007 和 7008 2,使用命令 redis-trib.rb add-node 命 ...

  4. (转)hadoop 集群间数据迁移

    hadoop集群之间有时候需要将数据进行迁移,如将一些保存的过期文档放置在一个小集群中进行保存. 使用的是社区提供的功能,distcp.用法非常简单: hadoop distcp hdfs://nn1 ...

  5. KingbbaseES V8R6集群维护案例之---集群之间数据迁移

    案例说明: 生产环境是集群环境,测试环境是集群,现需要将生产环境的数据迁移到测试集群中运行,本文档详细介绍了从集群环境迁移数据的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingbase ...

  6. Redis主从,集群部署及迁移

    工作中有时会遇到需要把原Redis集群下线,迁移到另一个新的Redis集群的需求(如机房迁移,Redis上云等原因).此时原Redis中的数据需要如何操作才可顺利迁移到一个新的Redis集群呢? 本节 ...

  7. Redis单节点数据同步到Redis集群

    一:Redis集群环境准备 1:需要先安装好Redis集群环境并配置好集群 192.168.0.113 7001-7003 192.168.0.162 7004-7006 2:检查redis集群 [r ...

  8. filebeat收集日志传输到Redis集群,logstash从Redis集群中拉取数据

    前提:已配置好Redis集群,并设置的有统一的访问密码 架构是filebeat-->redis集群-->logstash->elasticsearch,需要修改filebeat的输出 ...

  9. redis集群学习

    转载: http://arganzheng.life/redis-cluster.html Redis3.0版本加入了cluster功能,解决了Redis单点无法横向扩展的问题. 分布式系统要解决的不 ...

随机推荐

  1. JS中常见的几种控制台台报错

    Error 控制台报错 EvalError 全局错误RangeError 引用错ReferenceError 参数错误SyntaxError 语法错误TypeError 类型错误URIError 编码 ...

  2. Android物联网应用程序开发(智慧园区)—— 设置传感器阈值对话框界面

    效果图: 自定义对话框布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...

  3. 编写Java程序,编写自定义异常类封装将棋子落在格子中已有棋子的异常

    返回本章节 返回作业目录 需求说明: 完善控制台版五子棋,判断用户所下棋子的位置,是否已经存在棋子,如果已经存在,则抛出用户自定义异常,提示用户该位置已经有棋子. 实现思路: 创建用户自定义异常类Go ...

  4. .NetCore下构建自己的文件服务管理(UosoOSS)

    Web开发系统文件默认存储在wwwroot目录下面,现在越来越多的系统服务化了,UI也更加多元化,当然文件可以用第三方的文件服务,但是这里准备文件分离出来构建自己的文件服务配合数据库表来实现(Uoso ...

  5. Net 实现自定义Aop

    引言 何为AOP,在软件开发中,总是听到这个AOP这个词语,但是何为AOP呢,AOP全称是Aspect Oriented Programming,中文译为面向切面编程,什么意思呢,即我们的应用程序在运 ...

  6. RabbitMQ --- 直连交换机 【 同步操作,等到消费者处理完后返回处理结果 】

    1.前言 RabbleMQ这种消息中间件,主要的功能是使用异步操作,来达到解耦的目的,比如,有系统a和系统b, 系统a通过消息中间件通知系统b来做业务,那么系统a只需要把要做的事情[也就是消息]发给消 ...

  7. Go语言系列- Socket编程和Redis

    Socket编程 一.socket编程概述 什么是socket编程? socket编程是计算机PC机器上2个程序通过一个双向的通信连接实现数据的交互,这个连接的一端就是一个socket.socket的 ...

  8. Standalone集群搭建和Spark应用监控

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6815920501530034696/ 承接上一篇文档<Spark词频前十的统计练习> Spark on ...

  9. SSRF服务器端请求伪造漏洞基础

    0x00 思考 1.什么是SSRF漏洞?2.SSRF漏洞的利用方式3.SSRF漏洞绕过4.SSRF漏洞加固 0x01 什么是SSRF漏洞 定义:SSRF漏洞,中文全称为服务端请求伪造漏洞,是一种由攻击 ...

  10. Typora中本地图片无法上传CSDN解决方案

    解决方法 本地图片无法上传,我们可以选择使用在线免费图床 把想要使用的图先上传到图床后复制对应的MarkDown语句到typora即可 在这里,给大家推荐一个图床 [图床链接](Image Uploa ...