我在生产中运行一个10节点的Cassandra集群。 99%写道; 1%读数,0%删除。节点有32 GB RAM; C *以8 GB堆运行。每个节点都有一个用于提交日志的SDD和用于数据的2x4 TB旋转磁盘(sstables)。该架构仅使用密钥缓存。 C *版本是2.1.2。
可以预测,群集将在不太长的时间内耗尽可用磁盘空间。因此需要增加其存储容量。客户端倾向于增加磁盘大小而不是添加更多节点。因此,计划在每个节点中采用2x4 TB旋转磁盘,并用3x6 TB旋转磁盘替换。
答案 0 :(得分:2)
我建议添加节点而不是增加当前节点的数据大小。添加节点将通过具有易于更换的小节点来利用Cassandra的分发功能。
此外,群集中用于旋转磁盘的单个节点的建议大小约为1 TB。一旦你走得更高,我只能想象性能会显着下降。
更不用说节点是否丢失了数据,恢复它需要很长时间,因为它必须从其他节点流式传输大量数据。
C *可以使用这么多RAM来处理每个节点最多18 TB的数据大小吗?
这在很大程度上取决于您的工作量。
通过安装新的(更大的)磁盘来增加磁盘大小,将所有SS表复制到它,然后将其安装在与原始(较小)磁盘相同的安装点(替换它)上是否可行? / p>
我不明白为什么它不起作用的原因。
答案 1 :(得分:0)
这是卡桑德拉的反模式。分布式数据库是Cassandra的关键特性