线上环境使用的是redis4,2副本共6台机器,之前的几年被大key问题困扰,解决之后目前又面临部分数据节点更新较快,使得槽位所在redis实例cpu使用率高的问题。于是,继续加节点、分槽位是一个不错的解决方案。不过由于是给线上环境更换,如何进行数据同步也是一个面临的问题。
在测试环境中,部署有redis集群,一开始使用的版本是redis 4.1.1,然后升级到6.2.10,然后进行了一次手动分片,目前是6个节点,4个master。然后,手头刚好有一个redis6.2.10的2副本集群,可以进行CloudCanal尝试了。
部署
打开首页https://www.clougence.com/。
点击下载私有部署,选择“容器部署”,X86版本。
上传到服务器后,直接解压,运行install_on_docker下面的install.sh。
注意:我在2024年7月12日下载的版本当前还有bug,主要表现为第一次安装后,打开页面http://192.168.124.28:8111后,使用账号密码无法登录。然后,使用uninstall.sh卸载重新sh install.sh一遍可以了。
登录
打开http://192.168.124.28:8111后,先登录。
账号: test@clougence.com
密码: clougence2021
默认验证码: 777777
然后是激活,激活的时候当前版本有个bug,激活了4遍才通过。而且重启服务后激活会消失,再次激活一次就可以了。
使用
这次是测试redis 4个槽位节点到另一个redis节点的数据同步。
测试老的1个节点到新的1个节点,任务运行后发现数据有缺失。
于是,一口气把4个槽位的节点分别建立一个任务,然后目标redis节点还是写同一个也没有问题。最后,数据同步成功。
注意:在测试过程中,每个任务消耗2GB内存,当前云主机只有8GB,把内存升级到12GB后,第4个任务也可以正常运行了。最后数据同步成功。