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

Hadoop 如何在cassandra中将单个数据中心群集迁移到多个数据中心群集>;,hadoop,cassandra,cassandra-2.0,Hadoop,Cassandra,Cassandra 2.0,提供建议的配置,以将数据从单个数据中心cassandra群集迁移到多个数据中心cassandra群集。目前,我有一个单数据中心群集环境,配置如下:, i) 节点数:3 ii)复制系数:2 iii)策略:简单策略 iv)端点_告密者:SimpleSnitch 现在我计划在不同的位置再添加两个节点。因此,我考虑转移到多个数据中心集群,并进行以下确认。 i) 节点数:5 ii)射频:dc1=2,dc2=2 iii)策略:网络拓扑逻辑策略 四)。endpoint_snitch:PropertyFileS

提供建议的配置,以将数据从单个数据中心cassandra群集迁移到多个数据中心cassandra群集。目前,我有一个单数据中心群集环境,配置如下:, i) 节点数:3 ii)复制系数:2 iii)策略:简单策略 iv)端点_告密者:SimpleSnitch

现在我计划在不同的位置再添加两个节点。因此,我考虑转移到多个数据中心集群,并进行以下确认。 i) 节点数:5 ii)射频:dc1=2,dc2=2 iii)策略:网络拓扑逻辑策略 四)。endpoint_snitch:PropertyFileSnitch(我有cassandra.topolofy.properties文件)

迁移数据而不丢失任何数据的过程是什么

请让我知道建议遵循的步骤或任何我可以参考的指南。如果需要更多信息,请告诉我

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

    更改键空间键空间_名称 复制= {'class':'NetworkTopologyStrategy','datacenter_name':2}

  • 通过重新启动更改每个节点上的snitch

  • 在不同的数据中心中添加节点。确保在添加它们时,cassandra.yaml中有auto_bootstrap:false

  • 在每个新节点上运行
    nodetool重建原始\u dc\u名称


  • 我刚刚发现了这篇关于迁移Cassandra的优秀教程:

    虽然细节将在原文中找到,但主要步骤的概要如下:

    1.卡桑德拉多DC支持
  • 配置PropertyFileSnitch
  • 更新复制策略
  • 更新客户端连接设置
  • 2.在EC2上设置Cassandra
  • 启动节点
  • 停止EC2节点并进行清理
  • 启动节点
  • 将群集中的数据副本放在EC2上
  • 3.关闭旧DC并进行清理
  • 解除种子节点的运行
  • 更新您的客户端设置
  • 使旧数据中心退役

  • 谢谢我还需要更多的澄清。现有节点的cassandra.toplogy.properties文件如何?我需要重新启动创建该文件吗?是-当您更改snitch时,您还需要创建该文件。别忘了在cassandra-rackdc.properties中设置节点自己的信息,不过我建议使用gossipingPropertyFile-snitch。这样,您就不必太担心拓扑更改,因为节点将通过流言蜚语发现拓扑,只有当它们无法发现拓扑时,它们才会求助于属性文件。还有一件事,我不理解“解除每个非纯Cassandra工作负载的节点的工作”的含义。请您详细说明一下好吗?例如,如果您运行的是datastax enterprise edition,那么您可能有分析和搜索节点。DSESimpleSnitch根据工作负载类型将环断开为DC。但是您只需要有一个DC就可以将转换更改为NTS。也许因为你用的是一个简单的告密者,所以这不适用于你。我忘了问你使用哪个版本-dse或社区?我没有使用dse。我只是在使用apachecassandra包