标签:make 编译 shu direct stand viso com target ram
本次由于安全漏洞原因,需要降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迁移数据是否完整
改好配置文件后,重启服务,验证业务是否正常。
标签:make 编译 shu direct stand viso com target ram
原文地址:https://www.cnblogs.com/uoar/p/14857438.html