tikv8.5.2集群在不使用tidb的情况下会进行gc吗

文档里有描述在使用tidb的情况下的gc机制,一个 TiDB 集群中会有一个 TiDB 实例被选举为 GC leader,GC 的运行由 GC leader 来控制。https://docs.pingcap.com/zh/tidb/stable/garbage-collection-overview/

如果只使用tikv集群,不部署tidb,那么tikv集群还会进行gc吗?看grafana面板好像tikv-detail-gc面板都是空的,似乎不会进行gc,这样的话是不是需要手动进行gc?

1 个赞

只安装了tikv?怎么玩,mark学习一下。蹲个后续

tikv里也有gc,如果不能自动触发,可能要手动触发。

支持的,可以看看这个。

把tikv当成一个超大的redis用了(大概

1 个赞

感谢回复!

根据文档https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file/#enable-compaction-filter-span-classversion-mark从-v50-版本开始引入span
enable-compaction-filter应该是默认开启的,但是grafana面板gc部分还是全空的 基本上都是nodata.

https://github.com/tikv/tikv/blob/master/cmd/tikv-ctl/src/cmd.rs#L446 用tiup tikv-ctl 的 compact-cluster模块手动compact的话看上去有读写,但是gc面板仍然是空的,是因为gc面板只在有tidb组件的情况下才会有数据吗?

1 个赞

:thinking:感觉可能grafana的面板是从tidb组件获取的数据。

毕竟从分类上看,GC面板也是在TiDB组件页面下面。

不部署tidb组件应该无法使用吧。首先你要清楚tidb集群各个组件的作用。
pd:相当于tidb集群的大脑,负责元信息管理和集群的调度,生成tso
tidb:负责建立客户端与集群的连接,负责解析用户的 SQL 请求,进行 SQL 解析(Parsing)、优化(Optimization)和执行计划生成(Execution Plan Generation),然后将执行请求分发给 TiKV 或者 TiFlash。
tikv:数据存储
如果都没有tidb组件,客户端请求怎么与集群建立连接?

可以理解为自己实现tidb端。进行了二次开发。


tikv detail面板分类下也有GC来着,直觉上应该不依赖于TiDB,难道tikv-detail下直接把tidb的面板复制了一份过来?

https://github.com/tikv/client-go/tree/v2.0.7
tikv提供一个rawkv和txnkv的客户端

:thinking:感觉是显示第三步的监控。

感觉很有道理,谢谢老哥

那如果我添加一个tidb节点,但是不用mysql之类的功能的话,会自动gc吗,还是tidb只会对存在的表进行gc?

就是当kv集群去用。


如果开启v2就必须部署tidb了。我们要使用ttl,所以开了v2,部署了tidb层

感谢回复,我这里应该是默认值apiv1,它这里是否会自动gc好像没说?那应该是会的吧?

不推荐使用裸 kv,官方不会给予技术支持的。。。