Cassandra 卡桑德拉·诺德托尔;“压缩状态”;显示值的含义
我找不到有关“compactionstats”的文档: 使用Cassandra 卡桑德拉·诺德托尔;“压缩状态”;显示值的含义,cassandra,nodetool,Cassandra,Nodetool,我找不到有关“compactionstats”的文档: 使用nodetool compactionstats时,completed和total列上的数值是什么意思? 我的列族的总数据大小约为360 GB,但我的压缩状态显示: pending tasks: 7 compaction type keyspace column family completed total unit progress Compaction Test M
nodetool compactionstats
时,completed
和total
列上的数值是什么意思?
我的列族的总数据大小约为360 GB,但我的压缩状态显示:
pending tasks: 7
compaction type keyspace column family completed total unit progress
Compaction Test Message 161257707087 2475323941809 bytes 6.51%
虽然我看到“已完成”的增长缓慢(也是进度;-)
但这个“总数”是如何计算的呢?当我只有360 GB的数据时,为什么是2.5 TB?您必须打开压缩功能
total
是组成正在压缩在一起的sstables集的未压缩字节总数。如果在cassandra日志文件中对包含压缩的行进行grep,您将发现压缩过程中的sstables。如果将这些尺寸相加,然后乘以柱族压缩比的倒数,则将非常接近总数。默认情况下,在多核系统上验证这一点可能有点困难,因为同时压缩的数量默认为核的数量
您还可以通过查看代码来验证此答案:
-getCompactionInfo()
使用该类中的ByteRead
和totalBytes
字段totalBytes
是最终值,在构造函数中通过对压缩过程中的每个文件的getLengthInBytes()
求和来计算
扫描仪会有所不同,但返回的字节长度是文件的未压缩大小