Chr*_*ank 6 cassandra nodetool
我找不到关于"compactionstats"的文档:
在使用时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%
Run Code Online (Sandbox Code Playgroud)
虽然我看到"完成"缓慢增加(也是进展;-).
但这个"总计"是如何计算出来的?当我只有360 GB的数据时,为什么它是2.5 TB?
您必须开启压缩。 total是包含被压缩在一起的 sstable 集合的未压缩字节总数。如果您 grep cassandra 日志文件中包含以下内容的行,Compacting您将找到属于压缩一部分的 sstables。如果将这些大小相加并乘以列族压缩比的倒数,您将非常接近总数。默认情况下,在多核系统上验证这可能有点困难,因为同时压缩的数量默认为核心数量。
您还可以通过查看代码来验证这个答案:
AbstractionCompactionIterable -getCompactionInfo()使用该类中的 bytesRead和字段。是最终的,并在构造函数中通过对压缩过程中的每个文件求和来计算。totalBytestotalBytesgetLengthInBytes()
扫描仪有所不同,但CompressedRandomAccessReader返回的字节长度是文件的未压缩大小。
| 归档时间: |
|
| 查看次数: |
1948 次 |
| 最近记录: |