将production env cassandra群集迁移到aws cassandra而不停机

von4xj4u  于 2021-06-10  发布在  Cassandra
关注(0)|答案(2)|浏览(370)

我有4个节点的cassandra集群在本地dc的生产环境中运行。我得把它搬到Cassandra。我不想因为某些原因把Cassandra搬到迪纳莫德。
使用的Cassandra版本非常旧,即1.2.9。
如何将cassandra从本地dc移动到aws cassandra而不丢失数据和零停机时间。
你好,维韦克

mrfwxfqh

mrfwxfqh1#

我以前做过。
正如alex tbk所说,您将在aws中添加节点,并使用新的数据中心。
使用新的逻辑数据中心名称添加新的空节点。你需要使用 GossipingPropertyFile 告密者(如果你还没有)并在 cassandra-rackdc.properties 文件。您还可以在该文件中指定一个逻辑机架,通常最好将aws可用性区域放在那里。
在构建一个aws节点之后,使用第一个节点的ip作为种子构建其余的节点。你不会希望他们在重新启动时试图攻击你的prem dc。之后,还需要将第一个节点设置为使用其他节点中的一个作为种子节点。
一旦构建了节点,就需要修改keyspace并为新的awsdc指定一个复制因子。
运行 nodetool rebuild 在每个aws节点上,使用现有dc作为源。 nodetool rebuild -- sourceDCName 一定要考虑升级。1.2是一个稳定的版本,但你错过了这么多的新功能/修复。
注意:有些人建议使用aws特定的告密者( EC2Snitch , EC2MultiRegionSnitch ),但您希望群集中的所有节点都运行在同一个告密者上。因此,对于混合云部署(在您有机会装饰您的内部部署节点之前),您需要坚持 GossipingPropertyFile 告密者。老实说,这是我唯一使用的告密者,无论供应商,你应该是罚款,太。

u0sqgete

u0sqgete2#

在aws中创建新dc。在两个dc之间配置dc间同步。使旧的dc退役。
https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsadddctocluster.html

相关问题