我正在运行一个有 5 个节点的 Cassandra 集群,每个节点有 10 个 1Tb 磁盘 (JBOD)。目前,其中一个节点处于有问题的情况下,由于单个磁盘上的磁盘空间不足,大型压缩无法再成功完成。
我试图弄清楚在 JBOD 配置中添加额外磁盘会产生什么影响。
- 是否会自动重新分配现有数据以最佳利用新磁盘?
- 是否只会将新数据写入新添加的磁盘?
- 我可以手动将 sstables 移动到不同的磁盘吗?
- 拆分 sstables 是一种选择吗?
我在网上找到了不完全确定的来源:
- https://stackoverflow.com/questions/23110054/cassandra-adding-disks-increase-storage-volume-without-adding-new-nodes似乎暗示“随着时间的推移,数据将在磁盘之间均匀分布”,但并没有指定这是由于重新平衡还是新数据将仅写入新磁盘的事实(也是旧链接,因此不确定是否仍然相关)。
- http://mail-archives.apache.org/mod_mbox/cassandra-user/201610.mbox/%3cCAMy13tA3cZ++LaVnUsuwkwbR5tvBdhMEOqWij9nrWRODq42rLQ@mail.gmail.com%3e似乎暗示压缩将始终使用 Cassandra 3.2+ 在本地运行数据磁盘.