首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cassandra集群-迁移集群中的所有主机

Cassandra集群-迁移集群中的所有主机
EN

Stack Overflow用户
提问于 2020-06-04 17:53:07
回答 1查看 76关注 0票数 1

我使用的是Cassandra(3.5),它有20个节点,data center-1有10个节点,data center-2有10个节点,数据非常庞大。所有主机都属于传统主机。现在我们有了新一代的主机,比如说第二代。

我已经尝试添加新节点和退役旧节点。但这将是一个领带消耗。

Q1:如何将所有主机从传统主机迁移到第二代主机?实现这一目标的最佳方法是什么?

Q2:回滚策略是什么?

Q3:最后,一旦我迁移到第二代主机,我如何验证数据?

EN

回答 1

Stack Overflow用户

发布于 2020-06-04 19:19:00

如果只是用新的硬件替换节点,保持相同的节点数,那么这很简单(操作应该在每个节点上完成):

  1. 在每个节点上准备新安装,配置与现有节点相同,但IP地址不同,但不要启动nodes
  2. (optional)禁用使用nodetool disableautocompaction的自动压缩-这有助于更快地执行步骤5
  3. 使用rsync将数据从旧节点拷贝到新节点(这可能需要很长时间)
  4. 执行nodetool drain并停止旧节点
  5. 使用rsync同步自初始复制以来发生的更改(应相对较快)
  6. 确保旧节点不会再次启动(例如,删除Cassandra包)-否则可能会出现混乱
  7. 启动新节点

这是因为Cassandra节点是由存储在本地表中的UUID标识的,所以更改IP不会影响操作。

备注:将来,如果您需要替换节点(不是如上所述,而是完全死掉),请使用procedure of node replacement -在这种情况下,您不会像执行解任务然后重新添加节点时那样,两次流式传输数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62191756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档