本博客记录以下问题解决办法:使用dolphinscheduler的WebUI运行工作流后出现内存占用过高导致的任务阻塞问题,并且在删除工作流实例时总是报错无法删除
解决步骤
在前端页面无法删除,于是搜索资料,发现可以登录数据库进行工作流实例的删除,具体步骤如下:
1. 登录到 MySQL 或其他数据库管理系统。(我这里是登录dolphinscheduler)
[root@node01 ~]# mysql -udolphinscheduler -p
如果你不确定数据库的名称,可以使用以下命令列出所有可用的数据库,以便找到正确的名称:
SHOW DATABASES;
2、在Linux系统中,我们已经登录到数据库
3、接下来清理DolphinScheduler中的僵尸任务流
-- 删除任务实例中运行的任务(假设command_type=9表示运行中的任务)
DELETE FROM t_ds_process_instance WHERE end_time IS NULL AND command_type = 9;
-- 删除特定日期的工作流实例
DELETE FROM t_ds_process_instance WHERE DATE_FORMAT(start_time, "%Y-%m-%d") = '2021-06-23' AND state = 1;
-- 删除特定日期的工作流定义
DELETE FROM t_ds_process_definition WHERE DATE_FORMAT(create_time, "%Y-%m-%d") = '2021-06-23';
返回界面观察工作流是否被删除,要确保工作流里必须有至少一个任务,否则会提示不能删,随便写一个,保存,然后就可以删除该工作流,从后台数据库删除后可以发现我们的待执行任务数归零。到此大功告成。