ClickHouse中的query_log、query_thread_log、trace_log等日志表,在开启之后,如果一段时间没有清理,这些日志表会占用大量的存储空间,query_log是最常用的查询日志,它记录了ClickHouse服务中所有已经执行的查询记录,下图为query_log表中的部分内容。ClickHouse默认不清理日志,这里需要自己配置。
查了些资料发现,大家基本都是通过设置相应日志表的TTL来清理,如
ALTER TABLE system.query_log on cluster cluster_name MODIFY TTL event_date + INTERVAL 15 DAY
这样处理虽然也可以,但是不太安全也不太方便
官方资料建议:直接在配置文件中设置
query_log 配置参数使用下列参数进行日志配置(配置文件位置 /etc/clickhouse-server/config.xml)
database – 数据库名table – 日志存放的系统表名partition_by — 系统表分区键,如果定义了 engine 则不能使用engine -系统表 表引擎,如果定义了 partition_by 则不能使用flush_interval_milliseconds – 将数据从内存的缓冲区刷新到表的时间间隔。
Example
system query_logEngine = MergeTree PARTITION BY event_date ORDER BY event_time TTL event_date + INTERVAL 30 day 7500
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)