在EC2上部署Cassandra?

时间:2011-01-17 15:31:37

标签: ruby-on-rails amazon-ec2 heroku cassandra

我知道Cassandra仍处于测试阶段,但我想玩它。这绝不是一个生产项目;这只是为了娱乐和学习一点点。但最好的学习方法是实际部署并让人们完成它的步伐。

我想将Cassandra与Heroku一起使用,所以我想将它部署在EC2上(就像Heroku一样)。什么是最好,最简单,最便宜的方式?有什么建议吗?

我通过谷歌看过一些,但他们警告过: EC2实例不适合生产使用。它们将数据存储在实例本身上,并在实例关闭时消失。

1 个答案:

答案 0 :(得分:4)

  • 使用Elastic Block Storage(EBS)实例存储Cassandra日志和数据文件。您需要更改/etc/cassandra/cassandra.yaml以指定这些文件的位置。 EBS实例在其附加的EC2实例关闭时会持续存在。

  • 您可以在一个实例上安装它以试用界面并试验数据模型。您还不需要设置群集。

  • 要测试群集功能,您可以尝试设置三个实例并为所有键空间提供复制因子3.但这可能是实验的后期阶段,而不是试验数据模型。建议的最小群集大小为3.

  • 您应该尝试不同的机器尺寸。要试验超小型实例,可以使用Rackspace等备用供应商。如果您遇到较小实例大小的性能问题,请查看向上移动实例大小是否可以解决这些问题。

  • Rails有一些alpha Cassandra-Object-Mapping库。您可能会发现这些并不适合您。您可以选择回馈它们,或者直接在模型中实现模型持久性代码。对于Rails 3应用程序,您可能希望查看ActiveModel接口和帮助程序模块,以便您的模型能够很好地与ActionPack和其他期望与ActiveModel兼容的模型的库一起使用。