gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 15:06:31 26 4
gpt4 key购买 nike

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

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

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

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

在此问题中:How do I take a backup of aws ec2 instance/ephemeral storage?
人们声称您无法将临时数据备份到 EBS 快照上。

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

任何信息都会很棒。

感谢您的时间。

最佳答案

我在 EC2 上运行 Cassandra 已经超过 2 年了。为了解决您的顾虑,您需要在 EC2 上为您的 Cassandra 集群形成适当的可用性架构。这是一个项目符号列表供您考虑:

  • 考虑至少 3 个区域来设置集群;
  • 使用 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

    关于备份:

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

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

    以上希望有所帮助。

    关于amazon-web-services - 具有大量数据的 ec2 上的最佳实践 cassandra 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21386671/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com