问题描述

由于 Apache DolphinScheduler 长期运行,任务数量不断增加,相关任务数据主要存储在数据库中的 t_ds_task_instance 和 t_ds_process_instance 两张表中。

随着这两张表数据量的持续增长,导致系统页面出现卡顿现象。

_【技巧帖】 DolphinScheduler 任务数据清理与备份策略,确保页面不卡顿_【技巧帖】 DolphinScheduler 任务数据清理与备份策略,确保页面不卡顿

解决方案

为解决上述问题,采取的措施是定期清理数据库中 t_ds_process_instance 和 t_ds_task_instance 两张表中一个月之前的数据。

数据备份

在进行数据清理之前,首先备份原表数据,以确保数据安全

use dolphinscheduler;
-- 创建备份表 t_ds_process_instance_backup20241120 和 t_ds_task_instance_backup20241120
CREATE TABLE t_ds_process_instance_backup20241120 LIKE t_ds_process_instance;
CREATE TABLE t_ds_task_instance_backup20241120 LIKE t_ds_task_instance;
-- 将原表数据备份到相应的备份表中
INSERT INTO t_ds_process_instance_backup20241120
SELECT * FROM t_ds_process_instance;
INSERT INTO t_ds_task_instance_backup20241120
SELECT * FROM t_ds_task_instance;

检查备份情况

_【技巧帖】 DolphinScheduler 任务数据清理与备份策略,确保页面不卡顿_【技巧帖】 DolphinScheduler 任务数据清理与备份策略,确保页面不卡顿

为了确保备份操作成功,可以检查备份表和原表的数据行数。

-- 检查备份表的数据行数
SELECT COUNT(*) FROM t_ds_process_instance_backup20241120;
SELECT COUNT(*) FROM t_ds_task_instance_backup20241120;
-- 检查原表的数据行数
SELECT COUNT(*) FROM t_ds_process_instance;
SELECT COUNT(*) FROM t_ds_task_instance;

数据清理

在备份完成并确认无误后,执行清理操作,删除 2024年10月19日 23:59:59 之前 的数据。

-- 删除 t_ds_task_instance 表中 2024年10月19日 23:59:59 之前的数据
DELETE FROM t_ds_task_instance
WHERE submit_time  '2024-10-19 23:59:59';
-- 删除 t_ds_process_instance 表中 2024年10月19日 23:59:59 之前的数据
DELETE FROM t_ds_process_instance
WHERE end_time  '2024-10-19 23:59:59';

参考:/weixin_4025…

本文由 白鲸开源科技 提供发布支持!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。