在现有的Cassandra节点中重新configuration数据目录

我目前正在单个磁盘上运行一个非常简单的单节点Cassandra框,并将数据文件放在一个磁盘上。 我即将添加几个SSD到盒子,并打算将每个SSD作为另一个数据目录添加到cassandra.yaml文件。 如果我停止Cassandra,请安装SSD,将数据文件从(当前)机械驱动器移动到其中一个SSD,然后将SSD目录添加到yaml文件,然后再次启动Cassandra,它会自动在两者之间开始平衡磁盘? 是否有任何问题围绕重新configuration磁盘和磁盘空间设置,我应该知道的?

在更新版本的Cassandra(自v1.1.0 IIRC以来)中,您可以select将各个列族存储在磁盘上的位置 – 所以可以将特定列族(和事务日志)的负载分散到SSD中。

如果您将SSD添加到RAID层后面(比如说raid 0 striping – cassandra在32K块中写入,所以32k块似乎是条带大小的一个好select),那么您只需要担心将其全部放在一个位置,吞吐量和I / O操作将会大大增加。

你做这个举动的方法对我来说似乎也很好。

另外,我真的很喜欢这个应用程序的ZFS。 我可以select通过廉价的旋转锈蚀来提供最多的存储空间,然后通过在SSD上放置一个L2 ARCcaching来加速读取速度,并且如果需要,可以通过将ZIL放在SSD上加速写入(与我的cassandra体验不太相关)。