是否存在任何“陷阱”?将 Cassandra 集群部署到一组 Linode VPS 实例?
我正在学习 Apache Cassandra 数据库 [原文如此]。
有人在将 Cassandra 部署到非专用硬件(例如 Linode 或 Slicehost 的产品)方面有过好的/坏的经历吗?
我认为 Cassandra 将是轻松扩展 Web 服务以满足读/写/请求负载的好方法...只需将另一个运行 Cassandra 节点的 Linode 添加到现有集群即可。是的,这意味着在同一个 VPS 上运行公共 Web 服务和 Cassandra 节点(许多人可能对此表示反对)。
Cassandra 类似 Linode 部署的优点:
- 专用 VLAN; Cassandra 节点可以私下通信
- 用于配置新 Linode 的 API(也许可以使用安装 Cassandra 及其依赖项的“StackScript”对其进行配置)
- 价格合适
缺点:
- 每个主机都是 VPS,当然不是专用的
- 一旦您决定需要 4GB RAM(参见 SoftLayer 专用),RAM/成本比就不是那么好了。
- 只有 1 个磁盘,我想人们更喜欢 2 个磁盘(1 个用于提交日志,另一个磁盘用于数据文件本身) 。可能没有实际意义,因为无论如何这是共享硬件。
编辑:发现这有点帮助: http://wiki.apache.org/cassandra/CassandraHardware
我看到 1GB 是最低要求,但这是推荐吗?例如,我可以使用 Linode 720 进行部署(例如 Cassandra 可用 500 MB)吗?请参阅 http://www.linode.com/
I am learning about the Apache Cassandra database [sic].
Does anyone have any good/bad experiences with deploying Cassandra to less than dedicated hardware like the offerings of Linode or Slicehost?
I think Cassandra would be a great way to scale a web service easily to meet read/write/request load... just add another Linode running a Cassandra node to the existing cluster. Yes, this implies running the public web service and a Cassandra node on the same VPS (which many can take exception with).
Pros of Linode-like deployment for Cassandra:
- Private VLAN; the Cassandra nodes could communicate privately
- An API to provision a new Linode (and perhaps configure it with a "StackScript" that installs Cassandra and its dependencies, etc.)
- The price is right
Cons:
- Each host is a VPS and is not dedicated of course
- The RAM/cost ratio is not that great once you decide you want 4GB RAM (cf. dedicated at say SoftLayer)
- Only 1 disk where one would prefer 2 disks I suppose (1 for the commit log and another disk for the data files themselves). Probably moot since this is shared hardware anyway.
EDIT: found this which helps a bit: http://wiki.apache.org/cassandra/CassandraHardware
I see that 1GB is the minimum but is this a recommendation? Could I deploy with a Linode 720 for instance (say 500 MB usable to Cassandra)? See http://www.linode.com/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要多少内存实际上取决于您的工作负载:如果您主要是写入,则可以使用较少的内存,否则您将需要内存用于读取缓存。
在我的雇主,rackspace cloud,你确实可以得到更多的内存:http://www.rackspacecloud。 com/cloud_hosting_products/servers/pricing。 (我们的机器也有磁盘阵列,所以人们通常会看到比 EC2 更好的 I/O 性能。不知道 linode。)
因为对于大多数 VPS,您为下一个大小的实例支付大约 2 倍的费用,即与添加第二个小型实例大致相同,我建议使用更少、更大的实例,而不是更多、更小的实例,因为在数量较少的情况下,网络开销是不可忽略的。
我确实知道有人在 256MB 虚拟机上使用 Cassandra,但如果你使用这么小的虚拟机,你肯定属于少数。
How much ram you needs really depends on your workload: if you are write-mostly you can get away with less, otherwise you will want ram for the read cache.
You do get more ram for you money at my employer, rackspace cloud: http://www.rackspacecloud.com/cloud_hosting_products/servers/pricing. (our machines also have raided disks so people typically see better i/o performance vs EC2. Dunno about linode.)
Since with most VPSes you pay roughly 2x for the next-size instance, i.e., about the same as adding a second small instance, I would recommend going with fewer, larger instances than more, smaller ones, since in small numbers network overhead is not negligible.
I do know someone using Cassandra on 256MB VMs but you're definitely in the minority if you go that small.