dremio 几个缓存数据清理
dremio 大量使用了数据缓存,元数据,查询job result,加速数据缓存,spill 本地磁盘缓存
job result 清理
按照官方的说法是系统包含了定时任务,默认会30天自动清理,同时变动之后当手工重启的时候会自定清理,同时不清理job 的profile 只是job result
但是目前测试似乎并不是这样的,job 结果数据依然在我们的系统中,但是还好,一般并不是很大,而且如果使用了分布式存储之后数据会放到s3 实现
一个共享
spill 清理
重启或者手工都是可以的,重启之后会自动清理,参考日志
2022-05-24 07:58:57,463 [folder-cleanup-1] INFO c.dremio.common.io.FileSystemHelper - Cleaning up /opt/dremio/data/spill/spilling_fd0425830f6f_45678/1653354250051
2022-05-24 07:58:57,464 [folder-cleanup-1] INFO c.dremio.common.io.FileSystemHelper - Cleanup done for /opt/dremio/data/spill/spilling_fd0425830f6f_45678/1653354250051
反射数据清理
反射这部分数据实际上是会自动清理的,一般不需要太多关注,但是应该最好监控处理,如果使用了分布式存储(s3 之类)的一般我们关注s3 bucket 空间就可以了
使用cli 清理元数据
dremio-admin 是一个比较强大的工具,可以用来清理一些元数据信息
clean 命令
./dremio-admin clean --help
Usage: dremio-admin clean [options]
Options:
-c, --compact
compact kvstore
Default: false
-p, --delete-orphan-profiles
delete orphans profiles in kvstore
Default: false
-o, --delete-orphans
delete orphans records in kvstore (e.g. old splits)
Default: false
-h, --help
show usage
-j, --max-job-days
delete jobs older than provided number of days
Default: 2147483647
-i, --reindex-data
reindex data
Default: false
云存储缓存
这部分主要是对于一些网络文件系统的cache 处理,清理比较简单,就是禁用缓存,然后直接清理文件夹
当然这部分包含了普通文件系统以及对于反射的加速,可以结合实际使用场景处理,这部分也可以参考我
以下的简单介绍 https://www.cnblogs.com/rongfengliang/p/16228551.html
参考资料
https://docs.dremio.com/software/advanced-administration/job-results-cleanup/
https://docs.dremio.com/software/advanced-administration/metadata-cleanup/
https://docs.dremio.com/software/deployment/dist-store-config/
https://docs.dremio.com/software/deployment/cloud-cache-config/