【问题标题】:Reduce Redis cluster to single GCP memorystore将 Redis 集群缩减为单个 GCP 内存存储
【发布时间】:2022-01-16 17:46:51
【问题描述】:

我有 3 个带有 redis 的 redis 实例。一个是主人,另外两个是奴隶。我已经连接到主节点并通过 redis-cli 使用 INFO 命令获取信息。我可以看到参数 cluster_enabled:0 和

#复制

角色:主人 connected_slaves:2 slave0:ip=xxxxx,port=6379,state=online,offset=15924636776,lag=1 slave1:ip=xxxxx,port=6379,state=online,offset=15924636776,lag=0

还有keyspace,每个节点都有不同的dbs。我需要将所有数据迁移到 GCP 中的单个内存库,但我不知道如何。谁能帮帮我?

【问题讨论】:

  • 您的 3 个 redis 实例目前托管在哪里?
  • 在 GCP 中作为实例计算
  • 您希望新的内存存储也成为 Redis 数据库吗?
  • 是的,我想将三个实例迁移到一个内存存储区
  • 你的两个 redis 从属实例上的数据库的大致大小是多少?

标签: redis


【解决方案1】:

由于两个节点都是从节点,并且没有开启集群,所以只需要复制主节点即可。 RIOT 是用于将数据迁移入和迁移出 Redis 的绝佳工具。

但是,如果您说 DB by node 是指您通过 select 访问的 redis DB 吗?在这种情况下,您需要为键添加前缀,因为 DB 的键集之间可能存在重叠。

【讨论】:

  • 谢谢,我会检查 RIOT 工具。那么,这种架构意味着我在每个节点中都有相同的数据库吗?所以,如果我只迁移master节点到memorystore,我不会丢失数据,对吗?
【解决方案2】:

我认为在单节点配置中设置另一个 Redis 集群是您最不必担心的。

对您来说真正的挑战是将所有记录迁移到新设置。这不是一个容易回答的问题,很大程度上取决于多种因素:

  • 正在迁移的数据的总大小
  • 这是生产中的实时数据库吗?
  • 您希望将新配置中的两个数据库架构分开吗?

【讨论】:

  • 我想创建一个内存库来替换 3 个实例
【解决方案3】:

好的,我相信目前您的 Redis 实例托管在 Google Compute Engine 上。

您希望迁移到Memorystore for Redis

here 所述,您可以为此利用 Redis 快照。它为您提供了有关如何实现此目的的分步说明,将 GCS 存储桶用作临时存储。

使用 RDB(Redis 数据库备份)快照将数据导入 Cloud Memorystore 实例,以及从现有 Redis 实例备份数据。

【讨论】:

    猜你喜欢
    • 2018-04-05
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多