文档首页/ MapReduce服务 MRS/ 常见问题/ 组件配置类/ ClickHouse系统表日志过大,如何添加定期删除策略?
更新时间:2024-08-06 GMT+08:00

ClickHouse系统表日志过大,如何添加定期删除策略?

问题现象

客户使用ClickHouse,系统表产生的日志过大,一次性删除会耗费较长时间,客户可以添加定期删除策略,即添加TTL。

处理步骤

  • MRS 3.3.0及之后版本,在Manager页面,选择“集群 > 服务 > ClickHouse> 配置 > 全部配置”,可以通过参数“query_log.ttl”和“trace_log.ttl”配置数据清理周期,默认为90天。
  • MRS 3.3.0之前版本,在ClickHouse客户端给TTL的系统表执行如下语句:

    alter table system.表名 modify TTL event_date + INTERVAL 保留天数 day;

    • 该语句只是配置运行SQL节点的系统表的TTL,如果所有节点都需要配置,则需要到每个节点上都执行该语句,但不建议使用on cluster语句,避免ClickHouse一直运行下去。
    • 上述语句建议在低峰期运行,由于数据量较大,这个操作可能会比较慢。