维修后维修状态不是100%

disbfnqx  于 2021-06-10  发布在  Cassandra
关注(0)|答案(2)|浏览(424)

我注意到,有些表格显示的“修复率”低于100% nodetool tablestatus 输出。我已经在所有节点(3节点集群,rf=3)上手动执行了修复,但是值似乎没有改变。
输出示例:

Table: users
            SSTable count: 3
            Space used (live): 66636
            Space used (total): 66636
            Space used by snapshots (total): 0
            Off heap memory used (total): 688
            SSTable Compression Ratio: 0.5731829674519404
            Number of partitions (estimate): 162
            Memtable cell count: 11
            Memtable data size: 483
            Memtable off heap memory used: 0
            Memtable switch count: 27
            Local read count: 120833
            Local read latency: NaN ms
            Local write count: 12094
            Local write latency: NaN ms
            Pending flushes: 0
            Percent repaired: 91.54
            Bloom filter false positives: 0
            Bloom filter false ratio: 0.00000
            Bloom filter space used: 568
            Bloom filter off heap memory used: 544
            Index summary off heap memory used: 112
            Compression metadata off heap memory used: 32
            Compacted partition minimum bytes: 30
            Compacted partition maximum bytes: 1916
            Compacted partition mean bytes: 420
            Average live cells per slice (last five minutes): NaN
            Maximum live cells per slice (last five minutes): 0
            Average tombstones per slice (last five minutes): NaN
            Maximum tombstones per slice (last five minutes): 0
            Dropped Mutations: 0

修理是用 nodetool repair -pr 怎么回事?

cygmwpex

cygmwpex1#

执行 nodetool repair -pr 将修复在其上执行命令的节点所拥有的主范围。
这是什么意思?对其执行此命令的节点具有其“拥有”的数据,即其主要范围,但该节点还包含其他节点“拥有”的数据/副本。您没有修复由其他节点“拥有”的复制副本。
现在,如果在集群中的每个节点(不是数据中心)上执行该命令,它将覆盖所有令牌范围。
编辑/注意:我的回答没有正确回答这个问题。虽然我写的是准确的,但问题的答案是在我上面的答案中陈述的;基本上,修复百分比是用于增量修复使用的值,不受完全修复的影响(增量修复会在工作时标记修复的范围,这样以后就不会花费时间重新修复。)

nvbavucw

nvbavucw2#

Percent repaired 似乎是一个误导性的指标,因为它指的是修复的sstables的百分比,但是这里有一些条件需要计算:-表不应该来自系统键空间-表的复制因子应该大于1-修复应该是增量的或完全的(非子范围)
当你使用 nodetool repair -pr ,将调用无法更新此值的完全修复。
有关增量修复的更多信息,我推荐上一篇pickle中的这篇文章。自从他们采用了收割机工具的维修,他们就成了维修方面的权威。

相关问题