如何在cassandra中将单个数据中心集群迁移到多个数据中心集群>

时间:2015-01-27 07:28:26

标签: hadoop cassandra cassandra-2.0

提供建议的配置,将数据从单个数据中心cassandra集群迁移到多个数据中心cassandra集群。 Currenlty我有单一数据中心集群环境,具有以下配置, i)没有节点:3 ii)复制因子:2 iii)策略:SimpleStrategy iv)endpoint_snitch:SimpleSnitch

现在我计划在不同位置再添加2个节点。所以我想到了以下确认转移到多个数据中心集群。 i)没有节点:5 ii)RF:dc1 = 2,dc2 = 2 iii)战略:NetworkTopolofyStrategy ⅳ)。 endpoint_snitch:PropertyFileSnitch(我有cassandra.topolofy.properties文件)

在不丢失任何数据的情况下迁移数据的步骤是什么?

请告诉我建议的步骤或我可以参考的任何指南。如果需要进一步的信息,请告诉我。

2 个答案:

答案 0 :(得分:2)

  1. 完成所有节点的修复。
  2. 在所有节点上拍摄快照以获得后退点。
  3. 停用不是纯Cassandra工作负载的每个节点。每次停用节点时都要修复环。
  4. 使用NetworkTopologyStrategy和复制因子更新密钥空间以匹配原始RF

    ALTER KEYSPACE keyspace_name WITH REPLICATION =   {'class':'NetworkTopologyStrategy','datacenter_name':2};

  5. 通过重新启动更改每个节点上的snitch。

  6. 在其他数据中心添加节点。确保在添加它们时,在cassandra.yaml中有auto_bootstrap:false

  7. 在每个新节点上运行nodetool rebuild original_dc_name

答案 1 :(得分:-1)

我刚刚找到了关于迁移Cassandra的优秀教程: Cassandra Migration To EC2 by highscalability.com

虽然详细信息可在原始文章中找到,但主要步骤概述如下:

1。 Cassandra Multi DC支持

  1. 配置PropertyFileSnitch
  2. 更新复制策略
  3. 更新客户端连接设置
  4. 2。在EC2上设置Cassandra

    1. 启动节点
    2. 停止EC2节点并清理
    3. 启动节点
    4. 将数据副本放在EC2上的群集中
    5. 3。退役旧DC和清理

      1. 停用种子节点
      2. 更新您的客户端设置
      3. 停用旧数据中心