如何删除cassandra表的墓碑?

问题描述 投票:0回答:2

我的OpsCenter在Tombstone计数性能服务上给出了“失败”结果。我读了this paper,发现可能是插入NULL值是随意的。

所以我尝试使用以下过程解决此问题:

  1. 将表NULLchannelsarticles列设置为''。并且为了检查原因,这两个表没有任何插入。
  2. 使用命令gc_grace_seconds0设置为 alter table channels with gc_grace_seconds = 0 alter table articles with gc_grace_seconds = 0
  3. 截断bestpractice_results键空间中的OpsCenter表。
  4. 使用命令重新启动代理和OpsCenter: service datastax-agent restart service opscenterd restart

但是,当OpsCenter运行例行性能检查(每1分钟)时,会再次出现以下“失败”信息。并且墓碑的数量没有改变(即23552和1374)

我有一个问题:

  1. 如何在两个表上没有任何插入操作时删除这些逻辑删除?我需要repair群集吗?

enter image description here

OpsCenter版本:6.0.3 Cassandra版本:2.1.15.1423 DataStax企业版:4.8.10

cassandra opscenter
2个回答
1
投票

请点击以下链接获取有关删除和墓碑的完整信息..它可能对您有所帮助。 http://thelastpickle.com/blog/2016/07/27/about-deletes-and-tombstones.html


0
投票

使用Cassandra 3.10+,使用

nodetool garbagecollect keyspace_name table_name

检查https://docs.datastax.com/en/dse/5.1/dse-admin/datastax_enterprise/tools/nodetool/toolsGarbageCollect.html

© www.soinside.com 2019 - 2024. All rights reserved.