Datastax Cassandra - Amazon EC2实例 - 跨亚马逊地区跨越三个节点的群集

时间:2016-06-13 06:22:12

标签: amazon-ec2 cassandra datastax

我计划创建包含三个节点的群集,每个节点将在三个不同的Amazon EC2区域中启动。

根据Datastax文档,我将使用Ec2MultiRegionSnitch,复制策略是NetworkTopologyStrategy。以下是我需要实现的目标

群集大小:3(跨越Amazon EC2区域)。

复制因子:3

读写级别:QUORUM。

基于上面的配置,我可以在单节点丢失的情况下生存(意味着亚马逊地区的任何一个地区。如果我错了,请纠正我。)

为了实现上述配置,我有两个选项

选项-1:使用Datastax提供的Amazon EC2 AMI图像。

此选项使用一些监视工具(opscenter..etc)启动运行cassandra所需的几乎所有组件的实例

但它将所有数据存储在EC2实例存储中,因此数据仅在实例的生命周期内持续存在,存储大小取决于实例类型。

选项-2:使用自定义安装

在此选项中,我必须启动Amazon EC2 Ubuntu AMI,安装JAVA,安装Datastax社区版。

此选项使我能够将所有数据存储在EBS上。因此,我可以随时扩展EBS,同时可以使用EBS快照恢复任何节点。

我的问题:

哪个选项适合我的需要?

注意:

我阅读了Datastax提供的文档,对cassandra来说非常新。因此,无论您提供什么样的输入对我都非常有用。

由于

1 个答案:

答案 0 :(得分:0)

只有EC2临时存储才能获得Datastax AMI,这是不正确的。从版本2.5开始,他们声称您也可以选择EBS:Introducing the DataStax Auto-Clustering AMI 2.5。这是我个人选择的一种相对简单的入门方式。

您应该选择EBS还是EC2临时存储?

答案是:这取决于......

过去(~2012-2013):

短暂存储的EC2实例是更好的选择。多年来有详细的性能基准测试表明EBS越来越好,但是附加的物理驱动器仍然更好。

过去(〜2014年):

EC2选择仍然更好。 Datastax写了一篇关于定价,网络和故障恢复的好文章:What is the story with AWS storage?

现在(〜2016年):

instaclustr声称:

  

通过在Amazon EBS上运行Cassandra,您可以运行更密集,更便宜   Cassandra集群的可用性与短暂存储一样多   实例

很好的演示文稿:AWS re:Invent 2015 | (BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second on 60 Nodes

总而言之,我建议您进行TCO分析,如果价格没有太大差异,请选择EBS - 因为开箱即可制作快照。更重要的是,EBS的可能性将随着时间的推移而得到改善。