我正在寻找cassandra是否有节点硬件规范的限制,如果存在任何此类限制,可能是每个节点的最大存储量。
我打算每个节点使用几个带48TB存储节点(2TB X 24硬盘7200rpm)的节点和一些好的双xeon处理器。
如果存在任何但是没有找到关于此问题的任何材料,我已经查找了这些限制。而且为什么最近关于cassandra的内容越来越少,而它已经成熟并且上升了0.8版,而大多数文章/博客只与0.6v相关。
答案 0 :(得分:8)
Cassandra按行分发数据,因此唯一的硬限制是行必须能够适合单个节点。
所以简短的回答是否定的。
更长的答案是,您需要确保为永久数据和提交日志设置单独的存储区域。
要记住的另一件事是你仍然会遇到寻求速度问题。 Cassandra的一个好处是,您不需要拥有包含那么多数据的单个节点(事实上,它可能不太明确,您的存储将超过您的处理能力)。如果您使用较小的节点(明智的硬盘驱动器),那么您的存储和处理功能将一起扩展。
答案 1 :(得分:8)
有一些关于大数据集注意事项的注释here。
每个节点48 TB的数据可能太多了。拥有更多数据量较少的节点会好得多。您需要定期运行nodetool repair,这涉及读取机器上的所有数据。如果要在机器上存储数TB的数据,这将非常痛苦。
我会将每个节点限制为大约1TB的数据。
答案 2 :(得分:5)
请参阅How much data per node in Cassandra cluster?
这表明每个节点1-10 TB之间是明智的,具体取决于您的应用。 Cassandra可能仍然可以使用48TB,但不是最佳的。
您是否打算使用复制因子1或2(如果您有2个节点,如上所述)?
在单个节点上使用那么多数据时,某些操作(修复,压缩)可能会非常慢。
答案 3 :(得分:5)
你也应该小心使用Cassandra的大量RAM。 RAM非常适合在SSTables中缓存数据,但是为JVM提供过多的堆空间会适得其反。不要给JVM提供超过12 GB的堆空间,否则垃圾收集将花费太长时间并阻碍性能。这是为什么在Cassandra中拥有更小的节点更好的另一个原因。
答案 4 :(得分:1)
Datastax,主要供应商建议每个节点3到5个
见这里: