EC2 上的 Cassandra Datastax AMI - 从 "Stop"/"Start" 恢复

Cassandra Datastax AMI on EC2 - Recover from "Stop"/"Start"

我们正在寻找在 EC2 上部署小型生产 Cassandra 集群(社区)的最佳方式。出于性能原因,所有建议都是为了避免 EBS。

但是当部署 Datastax 提供的具有临时存储的 AMI 时,只要临时存储被擦除,实例就会永久死亡。 (手动启动 + 停止,或有时由 AWS 触发以进行维护)将使实例无法使用。 OpsCenter 无法在重新启动后修复实例,并且实例无法自行恢复。

我希望实例能够自行备份,运行 一些脚本可以检测到临时存储已被擦除,并与集群同步。因为它不是 AMI 看起来只适用于开发任务。

任何人都可以帮助我们了解替代方案是什么吗?我们可以忍受由于复制而导致节点暂时丢失,但如果节点永远无法恢复并且需要新的集群,这对于生产环境来说就像死胡同。

  1. 有没有办法在 EC2 上安装 Cassandra,以便它从临时存储丢失中恢复?

  2. 如果我们购买企业版的许可证,这个问题会消失吗?

  3. 这是否意味着尽管性能不佳,但带有 PIOPS 的 EBS(优化)是 运行 AWS 上的 Cassandra 的最佳方式?

  4. 建议只是避免停止 + 启动实例并且希望AWS 不会停用或重新分配他们的主机吗?在这种情况下有什么建议?

  5. AWS滚动更新怎么样?升级一台机器(杀死它)并再次启动它,然后继续到下一台机器将擦除所有集群数据,因为机器将响应(不像那些上的 Cassandra)。这样它就可以破坏小型(例如 3 节点)集群。

  6. 有没有人对Instacluster等付费服务有很好的体验?

Datastax 的新文档实际上表明 EBS 优化的 GP2 SSD 支持的实例可用于生产工作负载。有了 EBS 支持,您可以轻松地创建快照,这实际上消除了节点上数据丢失的可能性,并且可以通过简单的 start/stop.

轻松地将它们迁移到新主机。

对于临时性,您基本上必须围绕故障进行计划,考虑您的整个集群是否位于单个区域 (SimpleSnitch) 中并且该区域出现故障。

http://docs.datastax.com/en/cassandra/3.x/cassandra/planning/planPlanningEC2.html