【问题标题】:Move production env cassandra cluster to AWS cassandra without downtime无需停机即可将生产环境 cassandra 集群迁移到 AWS cassandra
【发布时间】:2019-08-07 18:54:03
【问题描述】:

我有 4 个节点的 cassandra 集群在本地 DC 的生产环境中运行。我必须将其移至 AWS cassandra。由于某种原因,我不想将 cassandra 移动到 dynamoDB。

使用的 Cassandra 版本相当旧,即 1.2.9。

如何将 cassandra 从本地 DC 迁移到 AWS cassandra,而不会丢失数据并实现零停机。

问候, 维韦克

【问题讨论】:

    标签: amazon-web-services cassandra cassandra-2.0


    【解决方案1】:

    在 AWS 中创建一个新的 DC。在两个 DC 之间配置 DC 间同步。停用旧的 DC。

    https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsAddDCToCluster.html

    【讨论】:

    • 好吧,只要确保您的新 DC 与旧 DC 的 [主要] 版本相同。
    【解决方案2】:

    我以前做过。

    正如 Alex Tbk 所说,您将在 AWS 上添加带有新数据中心的节点。

    1. 使用新的逻辑数据中心名称添加新的空节点。您需要使用GossipingPropertyFile 告密者(如果您还没有)并在cassandra-rackdc.properties 文件中指定DC。您还可以在该文件中指定一个逻辑机架,通常最好将 AWS 可用区放在那里。

    2. 构建一个 AWS 节点后,使用第一个节点的 IP 作为种子构建其余节点。您不希望他们在重新启动时尝试访问您的本地 DC。之后,您还需要将第一个节点设置为使用其他节点作为种子节点。

    3. 构建节点后,您需要修改密钥空间并为新的 AWS DC 指定复制因子。

    4. 在每个 AWS 节点上运行 nodetool rebuild,使用您现有的 DC 作为源。

      nodetool rebuild -- sourceDCName

    5. 一定要考虑升级。 1.2 是一个可靠的版本,但您错过了许多新功能/修复。

    注意:有些人建议使用 AWS 特定的告密者(EC2SnitchEC2MultiRegionSnitch),但您会希望集群中的所有节点都在同一个告密者上运行。因此,对于混合云部署(在您有机会拆除本地节点之前),您需要坚持使用GossipingPropertyFile 告密者。老实说,这是我唯一使用的告密者,不管提供者是谁,你也应该没问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 2017-02-23
      • 2014-11-27
      • 1970-01-01
      相关资源
      最近更新 更多