【发布时间】:2021-12-14 18:14:58
【问题描述】:
我有一个 12 节点 Cassandra 集群(版本 3.11.4),所有非平凡数据表(使用 org.apache.cassandra.locator.SimpleStrategy)和 org.apache.cassandra.db.compaction 上的复制因子为 3 .SizeTieredCompactionStrategy。
尽管“nodetool status”中只有相同的 %age “Owns”值,但我的一个节点使用的磁盘空间比其他节点多得多(~10GB 而其余大部分节点为~4GB)。该节点上的 SSTable 仅比其他节点大 100-150%%(该系统上没有快照)。它不仅影响一个表 - 数据库中所有较大的表都受到影响(以相同的比例)
我查看了 SSTables,看看该节点上的文件是否有可疑的旧日期(表明存在一些压缩问题),但所有文件都是相对较新的,并且符合数据的生命周期加上的墓碑。 cassandra.yaml 在节点之间是相同的(除了配置的 IP 地址)。
据我所知,此集群最近没有任何扩展操作,并且最近没有网络连接问题。
是否有任何 Cassandra 专家可以提出这种磁盘空间不平衡可能是什么以及可能的解决方案?我打算尝试在受影响的节点上重新启动 Cassandra,如果没有帮助,则使用显式的“nodetool repair --full”,看看他们是否解决了磁盘空间命中问题,但我有点担心经过的时间后者。
【问题讨论】: