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单点无法横向扩展的问题. 分布式系统要解决的不 ...
随机推荐
- 初识python:tkinter 实现 弹球小游戏(非面相对象)
通过 tkinter 采用非面相对象式实现弹球小游戏(使用蹩脚式面相对象实现). #!/user/bin env python # author:Simple-Sir # time:2020/8/3 ...
- Git 如何放弃所有本地修改
git checkout . #本地所有的修改,没有提交的,都返回到原来的状态 git stash #把所有没有提交的修改暂存到stash里面.可用git stash pop恢复. git reset ...
- 微服务架构攀登之路(五)之Go-micro入门
一.go-micro入门 1. go-micro 简介 Go Micro 是一个插件化的基础框架,基于此可以构建微服务,Micro 的设计哲学是可插拔的插件化架构 在架构之外,它默认实现了 consu ...
- HDU分拆素数和
https://acm.hdu.edu.cn/showproblem.php?pid=2098 时间复杂度 #include<bits/stdc++.h> using namespace ...
- h5跳转高德地图
<a href="https://uri.amap.com/marker?position=经度,纬度&name=所在的位置名称">高德地图</a>
- django框架--登录注册功能(ajax)
注册 实现一个注册功能 编写 html 内容 input 标签 csrf_token ajax 路由 视图: 提供页面 负责处理业务,返回响应 接收到 post 请求传递的参数 写库 返回 ...
- Solon Web 开发,六、过滤器、处理、拦截器
Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...
- 【刷题-LeetCode】151 Reverse Words in a String
Reverse Words in a String Given an input string, reverse the string word by word. Example 1: Input: ...
- IDEA2017 maven Spark HelloWorld项目(本地断点调试)
作为windows下的spark开发环境 1.应用安装 首先安装好idea2017 java8 scalaJDK spark hadoop(注意scala和spark的版本要匹配) 2.打开idea, ...
- 利用词向量进行推理(Reasoning with word vectors)
The amazing power of word vectors | the morning paper (acolyer.org) What is a word vector? At one le ...