具有大量数据的 ec2 上 cassandra 设置的最佳实践

2024-02-28

我正在进行从物理机到 ec2 实例的大规模迁移。

截至目前,我有 3 个 x.large 节点,每个节点都有 4 个实例存储驱动器 (raid-0 1.6TB)。设置完后,我记得“实例存储卷上的数据仅在关联的 Amazon EC2 实例的生命周期内保留;如果您停止或终止实例,实例存储卷上的所有数据都会丢失。”

在这种情况下人们通常会做什么?我担心如果其中一个盒子崩溃,那么如果没有 100% 复制到另一个盒子上,那么该盒子上的所有数据都将丢失。

http://www.hulen.com/?p=326 http://www.hulen.com/?p=326我在上面的链接中读到,这些人使用临时驱动器,并使用 EBS 驱动器和快照定期备份内容。”

在这个问题中:如何备份 aws ec2 实例/临时存储? https://stackoverflow.com/questions/10749099/how-to-take-backup-of-aws-ec2-instance-ephemeral-storage人们声称无法将临时数据备份到 EBS 快照中。

我最好的选择是使用几个 EBS 驱动器并将它们一起进行 raid0 并能够直接从它们获取快照吗?我知道这可能是最昂贵的解决方案,但是,它似乎最有意义。

任何信息都会很棒。

感谢您的时间。


我在 EC2 上运行 Cassandra 已有 2 年多了。为了解决您的担忧,您需要在 EC2 上为您的 Cassandra 集群构建适当的可用性架构。以下是供您考虑的项目符号列表:

  1. 考虑至少 3 个区域来设置集群;
  2. 将 NetworkTopologyStrategy 与 EC2Snitch/EC2MultiRegionSnitch 结合使用,将数据副本传播到每个区域;这意味着每个区域中的机器将合并您的完整数据集;例如,strategy_options 类似于 {us-east:3}。

上述两个技巧应该满足 AWS 中的基本可用性,并且如果您的查询是使用 LOCAL_QUORUM 发送的,那么即使一个区域出现故障,您的应用程序也将正常工作。

如果您担心 2 个区域出现故障(不记得在我使用过去 2 年的 AWS 中发生过这种情况),那么您还可以向集群添加另一个区域。

通过上述,如果任何节点因任何原因死亡,您可以从其他区域的节点恢复它。毕竟,CAssandra 旨在为您提供这种可用性。

关于 EBS 与 Ephemeral:

我一直反对在任何生产中使用 EBS 卷,因为就可用性而言,它是最差的 AWS 服务之一。它们每年会出现几次故障,而且其负面影响通常会波及其他 AWS 服务,例如 ELB 和 RDS。它们也类似于附加的网络存储,因此任何读/写都必须通过网络进行。不要使用它们。甚至 DataStax 也不推荐它们:

http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/../../cassandra/architecture/architecturePlanningEC2_c.html http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/../../cassandra/architecture/architecturePlanningEC2_c.html

关于备份:

我使用一种名为 Priam 的解决方案(https://github.com/Netflix/Priam https://github.com/Netflix/Priam)由 Netflix 编写。它可以在夜间拍摄集群快照并将所有内容复制到 S3。如果您启用incremental_backups,它还会将增量备份上传到S3。如果节点出现故障,您可以使用简单的 API 调用在特定节点上触发恢复。它恢复速度更快,并且不会给其他节点带来大量流负载。我还添加了一个补丁,让您可以做一些奇特的事情,例如在一个 AWS 区域内建立多个 DC。

您可以在这里阅读我的设置:http://aryanet.com/blog/shrinking-the-cassandra-cluster-to-fewer-nodes http://aryanet.com/blog/shrinking-the-cassandra-cluster-to-fewer-nodes

希望以上有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有大量数据的 ec2 上 cassandra 设置的最佳实践 的相关文章

随机推荐