【问题标题】:Copying Cassandra data from one cluster to another将 Cassandra 数据从一个集群复制到另一个集群
【发布时间】:2016-02-12 07:08:28
【问题描述】:

我在 AWS 上的 cassandra 中有一个集群设置。现在我需要将集群移到其他地方。由于无法拍摄图像,我将创建一个与旧集群完全相同的新集群。现在我需要将数据从这个集群移动到另一个集群。我该怎么做?

我的集群有 2 个数据中心,每个数据中心有 3 台 cassandra 机器和 1 台种子机器。

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    新旧集群之间是否有连接?如果是,为什么不链接集群并让 cassandra 将数据复制到新集群?数据传输完毕后,关闭旧集群。理想情况下,您甚至不会有任何停机时间。

    【讨论】:

    • 我多么愚蠢,谢谢。这可能让我更早感到震惊。
    • 小问题。由于我必须在 AWS 中从一个 VPC 移动到另一个 VPC,因此我无法在新旧集群之间建立连接。除了这个还有其他选择吗?
    • 应该可以配置您的 vpc 网络配置,使 vpc 可以从 Internet 访问。如果您的两个 vpc 都这样做了,cassandra 应该能够在它们之间进行连接。我没有在 AWS 中尝试过,但从 AWS 的描述来看,这应该很容易实现:aws.amazon.com/vpc
    【解决方案2】:

    您可以从数据目录中获取 SSTables,然后可以在新数据中心使用 sstableloader 导入数据。

    在进行此活动之前,您可能会考虑进行压缩,以便每个表只有一个 SSTable。

    SSTable Loader

    【讨论】:

      【解决方案3】:

      使用 SFTP 服务器或通过其他方式,将 SSTables 从旧集群传输到新集群(一个 DC 就足够了)并使用 SSTableLoader。将数据复制到另一个 DC 将由 Cassandra 负责。

      【讨论】:

        【解决方案4】:

        在 cassandra 中有两种类型的策略 SimpleStrategyNetworkTopologyStrategy by 使用 NetworkTopologyStrategy 您可以在不同的集群中复制。请参阅此文档Data replication

        您可以使用 COPY 命令将 csv 从一个表导出和导入到另一个表 Simple data importing and exporting with Cassandra

        【讨论】:

          猜你喜欢
          • 2014-06-26
          • 2016-12-07
          • 2018-06-02
          • 1970-01-01
          • 1970-01-01
          • 2017-09-07
          • 2020-04-30
          • 2015-12-02
          • 1970-01-01
          相关资源
          最近更新 更多