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