zoukankan      html  css  js  c++  java
  • 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迁移数据是否完整

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

  • 相关阅读:
    hbase distributed setup and configuration
    代码优化 性能调优
    正则表达
    [转载]Java&.Net虚拟机精简(GreenJVM&GreenDotNet发布)
    [JQuery]一款不错的jquery验证框架
    js特效集
    jQuery滚动插件2 jCarousel
    c3p0连接池
    php5 apache config
    jQuery滚动插件 (轮播)
  • 原文地址:https://www.cnblogs.com/uoar/p/14857438.html
Copyright © 2011-2022 走看看