如何删除cassandra的墓碑table?

How to delete tombstones of cassandra table?

我的 OpsCenter 给我 'Failed' 墓碑计数性能服务的结果。我看了this paper,发现可能是NULL值的插入是随便的。

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

  1. 将tablechannelsarticlesNULL列设置为''。为了检查原因,这两个 tables.

  2. 没有任何插入
  3. 使用命令将 gc_grace_seconds 设置为 0 alter table channels with gc_grace_seconds = 0 alter table articles with gc_grace_seconds = 0

  4. T运行在 OpsCenter 键空间中删除 bestpractice_results table。

  5. 使用命令重新启动代理和 OpsCenter: service datastax-agent restart service opscenterd restart

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

我有一个问题:

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

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

请阅读以下 link 以获取有关删除和逻辑删除的完整信息。这可能对您有所帮助。 http://thelastpickle.com/blog/2016/07/27/about-deletes-and-tombstones.html

使用 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