为什么drop非系统库后,只有db目录所占空间变小,而raft-engine目录没有太大变化

raft-engine 永远不会太大,会自己回收空间的,就算集群很大,那个也不会太大

2 个赞

db是存放数据的,存储了 TiDB 的数据,包括表数据、索引等;而raft-engine是存储 Raft 日志,Raft Engine 通过日志复制和提交机制,确保所有副本的数据一致性,这块空间是系统自己管理。因此drop database后,只有db目录变小,raft-engine不变。

多久回收一次呢?目前我的raft-engine目录还是没有明显变化。

系统怎样确认raft-engine目录下哪些数据可以清理的呢?可以手动清理吗?

这块空间是系统自己管理的。为了保证所有副本的数据强一致性,类似传统数据库中预写日志(WAL)的关键角色

你看看这个。

还有一个类似问题

,最后是调整

https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file/#purge-threshold

这个参数解决的。不过好像都需要重启,或者等待一段时间。刚调完不会立刻生效。

1 个赞

严格来说,我之前的问题是通过设置 rocksdb.max-total-wal-size=1 解决的,而不是purge-threshold(见 storage: TiKV takes up too much disk when using partitioned-raft-kv · Issue #44894 · pingcap/tidb)。
不过,rocksdb.max-total-wal-size=1 似乎已经变成了MultiRocks下的默认配置,我不确定现在还是否需要关心这个参数。

1 个赞

我知道。
近期有另一个帖子问raft 固定10g的问题。那个帖子我翻到了,编辑了一下。

1 个赞

通过tiup clean --all清理,会不会有什么影响呢?

不会有什么影响,因为2个问题应该没关系。

tiup 是个组件式的命令行工具。

这里tiup clean清理组件的运行数据,指的是清理tiup cluster / tiup dm / tiup dmctl 这类命令行组件的运行数据。和这些命令行组件管理的集群相关的数据/日志没有关系。

我还以为这里说的是清理了raftlog

1 个赞

raft-engine一般也不算大,占几个G吧

我以为随着数据增长raft-engine下的文件一直不会清理

会清理,一般不会很大

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。