redis集群升级,数据迁移及校验
本次由于安全漏洞原因,需要降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集群升级,数据迁移及校验的更多相关文章
- 在 Istio 中实现 Redis 集群的数据分片、读写分离和流量镜像
Redis 是一个高性能的 key-value 存储系统,被广泛用于微服务架构中.如果我们想要使用 Redis 集群模式提供的高级特性,则需要对客户端代码进行改动,这带来了应用升级和维护的一些困难.利 ...
- 用redis-dump工具对redis集群所有数据进行导出导入
安装redis-dump redis-dump是基于ruby开发,需要ruby环境,而且新版本的redis-dump要求2.2.2以上的ruby版本,centos中yum只能安装2.0版本的ruby. ...
- redis 3.0 集群__数据迁移和伸缩容
添加节点 1,启动2个新的redis-sever, 参照 ( redis 3.0 集群____安装 ),端口号为 7007 和 7008 2,使用命令 redis-trib.rb add-node 命 ...
- (转)hadoop 集群间数据迁移
hadoop集群之间有时候需要将数据进行迁移,如将一些保存的过期文档放置在一个小集群中进行保存. 使用的是社区提供的功能,distcp.用法非常简单: hadoop distcp hdfs://nn1 ...
- KingbbaseES V8R6集群维护案例之---集群之间数据迁移
案例说明: 生产环境是集群环境,测试环境是集群,现需要将生产环境的数据迁移到测试集群中运行,本文档详细介绍了从集群环境迁移数据的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingbase ...
- Redis主从,集群部署及迁移
工作中有时会遇到需要把原Redis集群下线,迁移到另一个新的Redis集群的需求(如机房迁移,Redis上云等原因).此时原Redis中的数据需要如何操作才可顺利迁移到一个新的Redis集群呢? 本节 ...
- Redis单节点数据同步到Redis集群
一:Redis集群环境准备 1:需要先安装好Redis集群环境并配置好集群 192.168.0.113 7001-7003 192.168.0.162 7004-7006 2:检查redis集群 [r ...
- filebeat收集日志传输到Redis集群,logstash从Redis集群中拉取数据
前提:已配置好Redis集群,并设置的有统一的访问密码 架构是filebeat-->redis集群-->logstash->elasticsearch,需要修改filebeat的输出 ...
- redis集群学习
转载: http://arganzheng.life/redis-cluster.html Redis3.0版本加入了cluster功能,解决了Redis单点无法横向扩展的问题. 分布式系统要解决的不 ...
随机推荐
- .net core系列源码地址介绍
很早就想写.net core相关教程内容了,但是一方面感觉东西太多了,一方面是太懒了,最近才下定决心,一定要写点东西出来,希望能支持一下国内.net 的尴尬处境 好了,先从.net core开源开始吧 ...
- 论文翻译:2020_A Robust and Cascaded Acoustic Echo Cancellation Based on Deep Learning
论文地址:https://indico2.conference4me.psnc.pl/event/35/contributions/3364/attachments/777/815/Thu-1-10- ...
- Nginx 管理可视化神器!通过界面完成配置监控,一条龙
作者:Posted 来源:https://leanote.zzzmh.cn/blog/post/5cc7f63616199b068300001c https://mp.weixin.qq.com/ ...
- dispatcher-servlet.xml文件配置模板
完整代码如下: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/ ...
- Windows 10 如何在当前位置打开 CMD 命令窗口?
方法一 Win + R 键召唤出运行窗口,然后输入 "CMD" 打开命令提示符. 使用 cd 命令更改当前命令提示符的工作环境. 注释 cd/ - 退到当前所在盘符 cd.. - ...
- 1.linux中的常用命令
本文积累工作中常用到的Linux命令 1. rz -be 文件上传到Linux服务器 此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了.上传的速度取决于当时 ...
- 18张图,详解SpringBoot解析yml全流程
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 前几天的时候,项目里有一个需求,需要一个开关控制代码中是否执行一段逻辑,于是理所当然的在yml文件中配置了一个属性作为开关,再配合nacos就可 ...
- GeoServer介绍
GeoServer本质上是一个地图服务器,它是遵循OpenGIS Web 服务器规范的J2EE实现,通过它可以方便的将地图数据发布为地图服务,实现地理空间数据在用户之间的共享.另外,它也提供了相应的接 ...
- jmeter和JDK安装教程(Windows)
1.JDK的安装及环境变量配置 1.JDK的下载安装 JDK官网下载地址:https://www.oracle.com/java/technologies/downloads 然后注册账号,开始下载, ...
- K8s中的volumes-容器数据存放类型及位置
学习对象:kubectl explain pod.spec.volumes.pod.spec.containers.image.volumeMounts 介绍Volumes 容器内部也有自己的空间,但 ...