【发布时间】:2015-11-14 00:13:52
【问题描述】:
我们正在寻找在 EC2 上部署小型生产 Cassandra 集群(社区)的最佳方式。出于性能原因,所有建议都是避免 EBS。
但在部署 Datastax 提供的 AMI 和临时存储时,只要临时存储被清除,实例就会永久死亡。 (手动启动 + 停止,或有时由 AWS 触发以进行维护)将使实例无法使用。 OpsCenter 在重启后无法修复实例,并且实例无法自行恢复。
我希望实例能够自行启动备份,运行一些脚本来检测临时存储是否已擦除,并与集群同步。因为它不是,所以 AMI 看起来只适合开发任务。
谁能帮助我们了解替代方案是什么?我们可以忍受由于复制而导致节点暂时丢失,但如果节点永远不会恢复并且需要一个新的集群,这对于生产环境来说似乎是一个死胡同。
有没有办法在 EC2 上安装 Cassandra,以便从临时存储丢失中恢复?
如果我们购买企业版的许可证,这个问题会消失吗?
这是否意味着尽管性能不佳,但带有 PIOPS 的 EBS(优化)是在 AWS 上运行 Cassandra 的最佳方式?
是否建议只是避免停止 + 启动实例并希望 AWS 不会停用或重新分配其主机?在这种情况下有什么建议?
AWS 滚动更新怎么样?升级一台机器(杀死它)并再次启动它,然后继续到下一台机器将擦除所有集群数据,因为机器将响应(与那些上的 Cassandra 不同)。这样它就可以破坏小型(例如 3 节点)集群。
有没有人对Instacluster等付费服务有很好的经验?
【问题讨论】:
-
澄清一下 - 亚马逊经常更换主机实例进行维护。此外,这些事件有时是由故障引起的。所以对生产环境的要求。是整个环境将在一个实例的自发迁移中幸存下来。但恢复单个节点更改主机的最佳方案是更换整个数据中心。这似乎有点矫枉过正,听起来也不是一个很好的部署策略。我们正在寻找一种最佳实践,使我们能够从偶发的 EC2 故障中自动恢复临时存储的性能。
-
这些都是很好的问题。我想听听其他人对此的回答,但我也可以分享我的知识:1. 不,2. 不,3. 不,对此有多项研究,上一个主要研究是在 2013/2014 年左右 - 但也许情况发生了变化. 4. Netflix 的伙计们使用 Priam:github.com/Netflix/Priam 但它几乎没有任何文档 + 我还没有找到任何描述成功安装的博客文章。顺便提一句。我又添加了一个相关问题(第 5 个)。
-
@Ron,你最终为此做了什么?
-
@runios,我们想将 Cassandra 用于一个非常特定的目的,在查看了我们需要的部署之后,我们认为这是一种矫枉过正的做法,并采用了不同的解决方案。
标签: amazon-web-services amazon-ec2 cassandra datastax datastax-enterprise