0

我正在运行cqlsh 版本 5.0.1,有一个 6 节点集群,最近我在使用sizeTieredCompaction策略以释放一些磁盘空间的表中进行了主要数据清理,但没有发生,我的问题面临的是创建了很多墓碑,我的 sstables 大小不均匀,因此它们没有被压缩我也尝试使用nodetool compact --user-defined选项手动压缩 sstables,但我的nodetool 版本是 3.0.15,它没有支持它,是否有其他方法来压缩 sstables,因为我不想在整个表上运行压缩,因为这可能非常不可预测,下面我附上了我的 sstables 和 cfstats。

稳定

-rw-r--r-- 1 cassandra cassandra 523G Jun 17  2021 mc-153814-big-Data.db
-rw-r--r-- 1 cassandra cassandra 178G Sep  8 11:19 mc-223618-big-Data.db
-rw-r--r-- 1 cassandra cassandra 370M Oct 20 00:05 mc-259673-big-Data.db
-rw-r--r-- 1 cassandra cassandra 181G Dec  7 00:58 mc-308912-big-Data.db
-rw-r--r-- 1 cassandra cassandra  47G Dec 23 23:29 mc-331310-big-Data.db
-rw-r--r-- 1 cassandra cassandra  13G Dec 27 21:46 mc-335805-big-Data.db
-rw-r--r-- 1 cassandra cassandra  13G Dec 31 18:30 mc-340584-big-Data.db
-rw-r--r-- 1 cassandra cassandra 3.3G Jan  1 19:12 mc-341882-big-Data.db
-rw-r--r-- 1 cassandra cassandra 3.2G Jan  2 21:18 mc-343095-big-Data.db
-rw-r--r-- 1 cassandra cassandra 828M Jan  3 04:25 mc-343352-big-Data.db
-rw-r--r-- 1 cassandra cassandra  58M Jan  3 04:54 mc-343377-big-Data.db
-rw-r--r-- 1 cassandra cassandra  55M Jan  3 05:21 mc-343394-big-Data.db
-rw-r--r-- 1 cassandra cassandra  18M Jan  3 05:29 mc-343399-big-Data.db
-rw-r--r-- 1 cassandra cassandra 4.7M Jan  3 05:30 mc-343400-big-Data.db
-rw-r--r-- 1 cassandra cassandra 5.7M Jan  3 05:33 mc-343401-big-Data.db
-rw-r--r-- 1 cassandra cassandra 230G Dec 24  2020 mc-36042-big-Data.db
-rw-r--r-- 1 cassandra cassandra 380G Jan  4  2021 mc-49122-big-Data.db
-rw-r--r-- 1 cassandra cassandra 8.1G Jan  6  2021 mc-53514-big-Data.db
-rw-r--r-- 1 cassandra cassandra  82G Jan 10  2021 mc-55238-big-Data.db
-rw-r--r-- 1 cassandra cassandra 5.7G Jan 15  2021 mc-56742-big-Data.db

cfstats

Keyspace: events
    Read Count: 26115727
    Read Latency: 7.895873181627301 ms.
    Write Count: 510188706
    Write Latency: 0.17134826153129307 ms.
    Pending Flushes: 0
        Table: event_track
        SSTable count: 20
        Space used (live): 1.65 TB
        Space used (total): 1.65 TB
        Space used by snapshots (total): 0 bytes
        Off heap memory used (total): 2.09 GB
        SSTable Compression Ratio: 0.13917185434273555
        Number of partitions (estimate): 252702273
        Memtable cell count: 19390
        Memtable data size: 32.35 MB
        Memtable off heap memory used: 0 bytes
        Memtable switch count: 24677
        Local read count: 26115728
        Local read latency: 7.580 ms
        Local write count: 510188708
        Local write latency: 0.151 ms
        Pending flushes: 0
        Bloom filter false positives: 333
        Bloom filter false ratio: 0.00000
        Bloom filter space used: 397.03 MB
        Bloom filter off heap memory used: 397.03 MB
        Index summary off heap memory used: 144.78 MB
        Compression metadata off heap memory used: 1.56 GB
        Compacted partition minimum bytes: 51 bytes
        Compacted partition maximum bytes: 307.45 MB
        Compacted partition mean bytes: 44.67 KB
        Average live cells per slice (last five minutes): 11.18867924528302
        Maximum live cells per slice (last five minutes): 372
        Average tombstones per slice (last five minutes): 10.617424242424242
        Maximum tombstones per slice (last five minutes): 1109

请建议一些使用它可以释放一些磁盘空间的东西,因为数据每天都在增长并且不可能增加磁盘。

4

1 回答 1

1

您仍然可以执行用户定义的压缩,尽管它应该通过 JMX 为您的版本完成。完整的说明可以在The Last Pickle 的这篇很棒的博客文章中找到,简短的版本是:

  • 获取一些 JMX 工具,例如jmxterm
  • 运行forceUserDefinedCompactionbean 的函数org.apache.cassandra.db:type=CompactionManager,将文件名作为参数传递(必要时使用完整路径):
run -b org.apache.cassandra.db:type=CompactionManager forceUserDefinedCompaction mc-341882-big-Data.db,mc-343401-big-Data.db
于 2022-01-03T07:15:27.783 回答