如何删除cassandra表的墓碑?

时间:2016-11-25 02:03:29

标签: cassandra opscenter

我的OpsCenter给了我'失败''结果是Tombstone计数性能服务。我看了this paper并发现可能是NULL值的插入是偶然的。

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

  1. 将表格NULLchannels的{​​{1}}列设置为''。并且为了检查原因,这两个表没有任何插入。

  2. 使用命令将articles设置为gc_grace_seconds0

  3. alter table channels with gc_grace_seconds = 0 alter table articles with gc_grace_seconds = 0 键空间中截断bestpractice_results表。

  4. 使用命令重新启动代理和OpsCenter: OpsCenter

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

    我有一个问题:

    1. 如果两个表上没有任何插入操作,如何删除这些逻辑删除? 我需要 service datastax-agent restart service opscenterd restart 群集吗?
    2. enter image description here

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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