redis cluster 迁移
准备
- 迁移工具,redis shake – https://github.com/alibaba/RedisShake
生成dump文件
- 找一个机器,可以访问被迁移redis cluster 的机器
- wget https://github.com/alibaba/RedisShake/releases/download/release-v2.1.1-20210903/release-v2.1.1-20210903.tar.gz
- tar -zxvf release-v2.1.1-20210903.tar.gz
- cd release-v2.1.1-20210903
- 修改配置,vi redis-shake.conf
#配置source.type, source.address #示例 source.type = cluster # 需要配置所有的master source.address = 10.1.xx.xx:6379;10.1.xx.xx:6379;10.1.xx.xx:6379 # 更多的配置详情,https://github.com/alibaba/RedisShake/wiki/%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BD%BF%E7%94%A8%EF%BC%8C%E5%A6%82%E4%BD%95%E8%BF%9B%E8%A1%8C%E9%85%8D%E7%BD%AE%EF%BC%9F
- 执行dump命令 : ./redis-shake.linux -conf=redis-shake.conf -type=dump
- 文件下多了几个local_dump 文件
恢复数据
- 一个可以访问目标redis cluster机器
- wget https://github.com/alibaba/RedisShake/releases/download/release-v2.1.1-20210903/release-v2.1.1-20210903.tar.gz
- tar -zxvf release-v2.1.1-20210903.tar.gz
- cd release-v2.1.1-20210903
- 把上面导出local_dump文件放到当前目录
- 修改配置,vi redis-shake.conf
#配置source.input.rdb, target.type, target.address #示例 source.rdb.input = local_dump.0;local_dump.1;local_dump.2 target.type = cluster # 需要配置所有的master target.address = 10.1.xx.xx:6379;10.1.xx.xx:6379;10.1.xx.xx:6379 # 更多的配置详情,https://github.com/alibaba/RedisShake/wiki/%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BD%BF%E7%94%A8%EF%BC%8C%E5%A6%82%E4%BD%95%E8%BF%9B%E8%A1%8C%E9%85%8D%E7%BD%AE%EF%BC%9F
- 执行restore命令 : ./redis-shake.linux -conf=redis-shake.conf -type=restore
- check 数据是否正确
ps
- 迁移后验证同步的正确性的工具
- https://github.com/alibaba/RedisFullCheck?spm=a2c6h.12873639.0.0.4b897495FRKWKh
- 阿里云机器 gcc升级
- https://www.alibabacloud.com/help/zh/doc-detail/111881.htm
- 依次运行以下命令可以安装软件包。
# 先安装scl-utils sudo yum install -y scl-utils # 打开YUM仓库支持 sudo yum install -y alinux-release-experimentals # 从YUM源安装您需要的软件包,以下示例命令同时安装了SCL插件方式支持的所有开发工具包 sudo yum install -y devtoolset-7-gcc devtoolset-7-gdb devtoolset-7-binutils devtoolset-7-make sudo yum install -y devtoolset-8-gcc devtoolset-8-gdb devtoolset-8-binutils devtoolset-8-make sudo yum install -y devtoolset-9-gcc devtoolset-9-gdb devtoolset-9-binutils devtoolset-9-make
- 安装成功后,您即可使用高版本的GCC以及相关工具。示例代码如下:
# 先查看现有的SCL,需要指定库名,本示例代码中,库名为devtoolset-7 scl -l devtoolset-7 # 运行相关的SCL软件 scl enable devtoolset-7 'gcc --version'
- 部署redis6.0.8集群
- https://blog.51cto.com/net881004/2538344