首页 > 数据库 >redis集群双活-数据迁移

redis集群双活-数据迁移

时间:2023-12-07 15:55:06浏览次数:48  
标签:redis 192.168 集群 conf shake sentinel 双活

一、redis双活 1、集群搭建 (一主两从) Redis-Sentinel是redis官方推荐的高可用性解决方案,sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户端都没有实现主从切换的功能,而redis-sentinel就是一个独立运行的进程,用于监控多个master-slave集群, 自动发现master宕机,进行自动切换slave > master,类似Java这类客户端会通过sentinel发现redis主节点并与其建立连接,也可以实现读写分离。 环境准备: 192.168.43.145 (master) 192.168.43.146 (slave) 192.168.43.121 (slave)   三台机器下载安装包:   #存放目录 /app/redis #下载安装包 wget https://download.redis.io/releases/redis-7.0.9.tar.gz #解压 tar -zxvf redis-7.0.9.tar.gz #由于redis是c语言编写的,所以我们需要先安装gcc,安装的命令如下: yum install gcc-c++ #然后 cd redis-7.0.9 make     主节点下: vim redis.conf 修改 bind 192.168.43.145   replica-read-only no   vim sentinel.conf 修改 sentinel monitor mymaster 192.168.43.145 6379 2   192.168.43.146从节点下: vim redis.conf 修改 bind 192.168.43.146 replicaof 192.168.43.145 6379   vim sentinel.conf 修改 sentinel monitor mymaster 192.168.43.145 6379 2   192.168.43.121从节点下: vim redis.conf 修改 bind 192.168.43.121 replicaof 192.168.43.145 6379   vim sentinel.conf 修改 sentinel monitor mymaster 192.168.43.145 6379 2       启动服务: ./src/redis-sentinel ./sentinel.conf >> sentinel.log & ./src/redis-server ./redis.conf >> server.log &   #是否有报错 tail -f server.log   注:如果报从节点无法copy,关闭主节点防火墙后,再重启防火墙 systemctl stop firewalld systemctl start firewalld systemctl status firewalld   登录主机节点查看集群信息: cd src ./redis-cli -h 192.168.43.145 -p 6379   info replication 至此集群搭建完毕!     二、数据迁移实时同步:redis-shake 1、安装包下载地址:https://github.com/tair-opensource/RedisShake/releases

安装目录 /app/redis-shake   tar -zxvf redis-shake-linux-amd64.tar.gz

修改配置文件 shake.toml vim shake.toml   [sync_reader]下   cluster = false #主从模式这里为fales address = "xxx.xxx.xxx.xxx:6379" # 源集群主节点ip username = "" # redis源集群用户名,没有可为空 password = "" # 源集群密码,没有可为空   [redis_writer]下 cluster = false # 主从模式这里为fales address = "xxx.xxx.xxx.xxx:6379" # 目标集群主节点ip username = "" #redis目标集群用户名,没有可为空L password = "" # 目标集群密码,没有可为空   #同步数据在目标集群下将进行重写 rdb_restore_command_behavior = "rewrite " # panic, rewrite or skip   保存退出后   启动命令: ./redis-shake shake.tool >> shake.log &   验证: 1、登录新老集群 执行 DBSIZE 查看数据量是否一致 2、在老集群下新增数据 新集群下能否实时查到     注:redis-shake 工具可能因为某些原因进程挂掉 建议编写自启脚本 启动   放置 /app/redis-shake 目录下

直接启动,start.sh即可     当需要切换集群时,将工具反向配置一下即可。注不能在两个集群中同时启动redis-shake,负责数据将不断在两集群间无限复制

标签:redis,192.168,集群,conf,shake,sentinel,双活
From: https://www.cnblogs.com/yebuzhiqiu/p/17882204.html

相关文章

  • 2022 RedisDays 内容揭秘
    上个月,Redis举办了3场线上会议,分别介绍了即将正式发布的Redis7中包括的重要更新的内容,还有Redis完全重写的RedisJSON2.0模块,和新发布的RedisStack模块。除此之外,在此次线上会议中还介绍了现代化的软件架构与Redis是如何紧密结合在一起,例如Redis与MachineLearning或者人工智能......
  • Windows 下部署Redis 主从模式+哨兵模式+JAVA连接方式
    原文:Windows下部署Redis主从模式+哨兵模式+JAVA连接方式_javaredis部署-CSDN博客前言之前项目需求部署redis高可用,走了很多弯路以及相关配置来回折腾浪费了很多时间,特地记录下。主从模式:实现多台redis实例进行服务运行,并且数据相互同步;哨兵模式:实现主服务器和从服务器进行监......
  • 将 .NET Aspire AppHost 部署到 Kubernetes 集群
    使用Aspirate可以将Aspire程序部署到Kubernetes集群工具安装dotnettoolinstall-gaspirate--prerelease注意:Aspirate正在开发中,该软件包将作为预览版进行版本控制,--prelease选项将获得最新的预览版。 容器注册中心您将构建为容器的csproj文件(项目)必须至少包含Con......
  • Redis发布订阅
    是什么是一种消息通信模式:发送者(PUBLISH)发送消息,订阅者(SUBSCRIBE)接收消息,可以实现进程间的消息传递。Redis可以实现中间件的MQ功能,通过发布订阅实现消息的引导和分流。能干嘛Redis客户端可以订阅任意数量的频道,类似我们微信关注多个公众号。当有新消息通过PUBLISH命令发......
  • SpringBoot高级开发(8)SpringBoot使用Lettuce设置多个RedisTemplate实例
    copy from:https://xiaomozhang.github.io/2021/02/07/spring-boot-lettuce-multi-instance/项目pom配置使用SpringBoot集成Redis,只需要将spring-boot-starter-data-redis和commons-pool2加到依赖即可 xml<dependency><groupId>org.springframework.boot</groupId>......
  • Using Redis with FastAPI
    UsingRediswithFastAPIhttps://developer.redis.com/develop/python/fastapi/https://github.com/fanqingsong/fastapi-redis-tutorialFastAPIisaPythonwebframeworkbasedontheStarlettemicroframework.Withdeepsupportforasyncio,FastAPIisindeedv......
  • 堆叠与集群
    交换机堆叠和集群    将多台交换机逻辑上虚拟成一台交换机,提高网络的可靠性、网络性能、管理性、资源利用率   iStack堆叠:将多台支持堆叠的交换机逻辑上虚拟成一台           盒式交换机部署,一般部署在接口层、汇聚层 CSS集群:将两台......
  • JAVA操作Redis工具类
    importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.redis.core.RedisTemplate;importorg.springframework.stereotype.Component;importorg.springframework.util.CollectionUtils;im......
  • 十一、RabbitMQ集群
    一、clustering1、使用集群的原因2、搭建步骤2.1搭建架构图2.2操作步骤2.3实战部分操作演示二、镜像队列1、使用镜像的原因2、搭建步骤2.1操作步骤2.2实战步骤三、Haproxy+Keepalive实现高可用负载均衡1、整体架构图2、Haproxy实现负载均......
  • Spring Boot整合Redis实现订单超时处理
    文章目录为什么使用Redis?准备工作创建订单实体类存储订单到Redis设置订单超时监控订单超时订阅订单超时消息总结......