找回密码
 立即注册
首页 业界区 安全 升级遇到坑?一文带你搞定 DolphinScheduler 2.0 到 3.0 ...

升级遇到坑?一文带你搞定 DolphinScheduler 2.0 到 3.0 升级

鞠古香 2025-5-31 23:27:09
1.png

1.升级背景

因项目需要使用数据质量模块功能,可以为数仓提供良好的数据质量监控功能。故要对已有2.0版本升级到3.0版本以上,此次选择测试了3.0.1 和 3.1.1 两个版本,对进行同数据等任务调度暂停等操作测试,最后选择3.0.1 版本
原因:

  • 3.1.1 在测试sql任务时 ,同时启动上百sql 任务时,会出现sql 任务报错,导致大量任务无法正常运行,询问社区大佬,这是DS本身bug导致,虽然此现象在3.0.1也有出现,不过出现几率较小。
  • DS3.0.1以上版本zookeeper的依赖版本进行了更新,查看驱动版本是3.8版本。我们生产不打算升级zk,故选择使用3.0.1版本。
此版本测试还是比较稳定的,功能比较完善,满足我们使用需求。
此次升级已经验证可行性,已在生产环境验证上线,对已有的问题,并给出了合理的解决方便,故写此篇文章,供各位同学参考。
2.升级的方案

选定方案:
采用数据库表同步的方式进行任务迁移,前期3.0 版本 和 2.0 版本同时运行,任务再验证没问题后,再逐步停止2.0版本。
原因:直接使用官网提供的升级脚本,无法正常运行,有较多问题,目前我们改造后,升级的数据库信息没问题,运行时数据信息有损坏,导致较多问题,所以为安全稳定,不直接使用官网提方案。
3.升级准备

1.首先对已有数据库进行备份,此项非常重要,
  1. 备份原始DS库:
  2. mysqldump -h ip -P 3306 -u 用户 -p 密码 数据库名  > /opt/new_dolphinscheduler.sql
  3. 恢复到新库:
  4.   mysql -u 用户 –p 密码 数据库名 < 备份文件.sql
复制代码
2.对已有备份表进行表结构变更
  1. ####此脚本是官网脚本改的,添加了字段
  2. /*
  3. * Licensed to the Apache Software Foundation (ASF) under one or more
  4. * contributor license agreements.  See the NOTICE file distributed with
  5. * this work for additional information regarding copyright ownership.
  6. * The ASF licenses this file to You under the Apache License, Version 2.0
  7. * (the "License"); you may not use this file except in compliance with
  8. * the License.  You may obtain a copy of the License at
  9. *
  10. *    http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
  19. -- uc_dolphin_T_t_ds_alert_R_sign
  20. drop PROCEDURE if EXISTS uc_dolphin_T_t_ds_alert_R_sign;
  21. delimiter d//
  22. CREATE PROCEDURE uc_dolphin_T_t_ds_alert_R_sign()
  23. BEGIN
  24.         IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  25.             WHERE TABLE_NAME='t_ds_alert'
  26.             AND TABLE_SCHEMA=(SELECT DATABASE())
  27.             AND COLUMN_NAME='sign')
  28.     THEN
  29. ALTER TABLE `t_ds_alert` ADD COLUMN `sign` char(40) NOT NULL DEFAULT '' COMMENT 'sign=sha1(content)' after `id`;
  30. ALTER TABLE `t_ds_alert` ADD INDEX `idx_sign` (`sign`) USING BTREE;
  31. END IF;
  32. END;
  33. d//
  34. delimiter ;
  35. CALL uc_dolphin_T_t_ds_alert_R_sign;
  36. DROP PROCEDURE uc_dolphin_T_t_ds_alert_R_sign;
  37. -- add unique key to t_ds_relation_project_user
  38. drop PROCEDURE if EXISTS add_t_ds_relation_project_user_uk_uniq_uid_pid;
  39. delimiter d//
  40. CREATE PROCEDURE add_t_ds_relation_project_user_uk_uniq_uid_pid()
  41. BEGIN
  42.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  43.         WHERE TABLE_NAME='t_ds_relation_project_user'
  44.         AND TABLE_SCHEMA=(SELECT DATABASE())
  45.         AND INDEX_NAME='uniq_uid_pid')
  46.     THEN
  47. ALTER TABLE t_ds_relation_project_user ADD UNIQUE KEY uniq_uid_pid(user_id, project_id);
  48. END IF;
  49. END;
  50. d//
  51. delimiter ;
  52. # CALL add_t_ds_relation_project_user_uk_uniq_uid_pid;
  53. DROP PROCEDURE add_t_ds_relation_project_user_uk_uniq_uid_pid;
  54. -- drop t_ds_relation_project_user key user_id_index
  55. drop PROCEDURE if EXISTS drop_t_ds_relation_project_user_key_user_id_index;
  56. delimiter d//
  57. CREATE PROCEDURE drop_t_ds_relation_project_user_key_user_id_index()
  58. BEGIN
  59.     IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  60.         WHERE TABLE_NAME='t_ds_relation_project_user'
  61.         AND TABLE_SCHEMA=(SELECT DATABASE())
  62.         AND INDEX_NAME='user_id_index')
  63.     THEN
  64. ALTER TABLE `t_ds_relation_project_user` DROP KEY `user_id_index`;
  65. END IF;
  66. END;
  67. d//
  68. delimiter ;
  69. CALL drop_t_ds_relation_project_user_key_user_id_index;
  70. DROP PROCEDURE drop_t_ds_relation_project_user_key_user_id_index;
  71. -- add unique key to t_ds_project
  72. drop PROCEDURE if EXISTS add_t_ds_project_uk_unique_name;
  73. delimiter d//
  74. CREATE PROCEDURE add_t_ds_project_uk_unique_name()
  75. BEGIN
  76.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  77.         WHERE TABLE_NAME='t_ds_project'
  78.         AND TABLE_SCHEMA=(SELECT DATABASE())
  79.         AND INDEX_NAME='unique_name')
  80.     THEN
  81. ALTER TABLE t_ds_project ADD UNIQUE KEY unique_name(name);
  82. END IF;
  83. END;
  84. d//
  85. delimiter ;
  86. CALL add_t_ds_project_uk_unique_name;
  87. DROP PROCEDURE add_t_ds_project_uk_unique_name;
  88. drop PROCEDURE if EXISTS add_t_ds_project_uk_unique_code;
  89. delimiter d//
  90. CREATE PROCEDURE add_t_ds_project_uk_unique_code()
  91. BEGIN
  92.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  93.         WHERE TABLE_NAME='t_ds_project'
  94.         AND TABLE_SCHEMA=(SELECT DATABASE())
  95.         AND INDEX_NAME='unique_code')
  96.     THEN
  97. ALTER TABLE t_ds_project ADD UNIQUE KEY unique_code(code);
  98. END IF;
  99. END;
  100. d//
  101. delimiter ;
  102. CALL add_t_ds_project_uk_unique_code;
  103. DROP PROCEDURE add_t_ds_project_uk_unique_code;
  104. -- add unique key to t_ds_queue
  105. drop PROCEDURE if EXISTS add_t_ds_queue_uk_unique_queue_name;
  106. delimiter d//
  107. CREATE PROCEDURE add_t_ds_queue_uk_unique_queue_name()
  108. BEGIN
  109.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  110.         WHERE TABLE_NAME='t_ds_queue'
  111.         AND TABLE_SCHEMA=(SELECT DATABASE())
  112.         AND INDEX_NAME='unique_queue_name')
  113.     THEN
  114. ALTER TABLE t_ds_queue ADD UNIQUE KEY unique_queue_name(queue_name);
  115. END IF;
  116. END;
  117. d//
  118. delimiter ;
  119. CALL add_t_ds_queue_uk_unique_queue_name;
  120. DROP PROCEDURE add_t_ds_queue_uk_unique_queue_name;
  121. -- add unique key to t_ds_udfs
  122. drop PROCEDURE if EXISTS add_t_ds_udfs_uk_unique_func_name;
  123. delimiter d//
  124. CREATE PROCEDURE add_t_ds_udfs_uk_unique_func_name()
  125. BEGIN
  126.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  127.         WHERE TABLE_NAME='t_ds_udfs'
  128.         AND TABLE_SCHEMA=(SELECT DATABASE())
  129.         AND INDEX_NAME='unique_func_name')
  130.     THEN
  131. ALTER TABLE t_ds_udfs ADD UNIQUE KEY unique_func_name(func_name);
  132. END IF;
  133. END;
  134. d//
  135. delimiter ;
  136. CALL add_t_ds_udfs_uk_unique_func_name;
  137. DROP PROCEDURE add_t_ds_udfs_uk_unique_func_name;
  138. -- add unique key to t_ds_tenant
  139. drop PROCEDURE if EXISTS add_t_ds_tenant_uk_unique_tenant_code;
  140. delimiter d//
  141. CREATE PROCEDURE add_t_ds_tenant_uk_unique_tenant_code()
  142. BEGIN
  143.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  144.         WHERE TABLE_NAME='t_ds_tenant'
  145.         AND TABLE_SCHEMA=(SELECT DATABASE())
  146.         AND INDEX_NAME='unique_tenant_code')
  147.     THEN
  148. ALTER TABLE t_ds_tenant ADD UNIQUE KEY unique_tenant_code(tenant_code);
  149. END IF;
  150. END;
  151. d//
  152. delimiter ;
  153. CALL add_t_ds_tenant_uk_unique_tenant_code;
  154. DROP PROCEDURE add_t_ds_tenant_uk_unique_tenant_code;
  155. -- ALTER TABLE `t_ds_task_instance` ADD INDEX `idx_code_version` (`task_code`, `task_definition_version`) USING BTREE;
  156. drop PROCEDURE if EXISTS add_t_ds_task_instance_uk_idx_code_version;
  157. delimiter d//
  158. CREATE PROCEDURE add_t_ds_task_instance_uk_idx_code_version()
  159. BEGIN
  160.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  161.         WHERE TABLE_NAME='t_ds_task_instance'
  162.         AND TABLE_SCHEMA=(SELECT DATABASE())
  163.         AND INDEX_NAME='idx_code_version')
  164.     THEN
  165. ALTER TABLE `t_ds_task_instance` ADD INDEX `idx_code_version` (`task_code`, `task_definition_version`) USING BTREE;
  166. END IF;
  167. END;
  168. d//
  169. delimiter ;
  170. CALL add_t_ds_task_instance_uk_idx_code_version;
  171. DROP PROCEDURE add_t_ds_task_instance_uk_idx_code_version;
  172. -- ALTER TABLE `t_ds_task_instance` MODIFY COLUMN `task_params` longtext COMMENT 'job custom parameters' AFTER `app_link`;
  173. drop PROCEDURE if EXISTS modify_t_ds_task_instance_col_task_params;
  174. delimiter d//
  175. CREATE PROCEDURE modify_t_ds_task_instance_col_task_params()
  176. BEGIN
  177.     IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  178.         WHERE TABLE_NAME='t_ds_task_instance'
  179.         AND TABLE_SCHEMA=(SELECT DATABASE())
  180.         AND COLUMN_NAME ='task_params')
  181.     THEN
  182. ALTER TABLE `t_ds_task_instance` MODIFY COLUMN `task_params` longtext COMMENT 'job custom parameters' AFTER `app_link`;
  183. END IF;
  184. END;
  185. d//
  186. delimiter ;
  187. CALL modify_t_ds_task_instance_col_task_params;
  188. DROP PROCEDURE modify_t_ds_task_instance_col_task_params;
  189. -- ALTER TABLE `t_ds_task_instance` ADD COLUMN `task_group_id` int(11) DEFAULT NULL COMMENT 'task group id';
  190. drop PROCEDURE if EXISTS add_t_ds_task_instance_col_task_group_id;
  191. delimiter d//
  192. CREATE PROCEDURE add_t_ds_task_instance_col_task_group_id()
  193. BEGIN
  194.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  195.         WHERE TABLE_NAME='t_ds_task_instance'
  196.         AND TABLE_SCHEMA=(SELECT DATABASE())
  197.         AND COLUMN_NAME ='task_group_id')
  198.     THEN
  199. ALTER TABLE `t_ds_task_instance` ADD COLUMN `task_group_id` int(11) DEFAULT NULL COMMENT 'task group id' after `var_pool`;
  200. END IF;
  201. END;
  202. d//
  203. delimiter ;
  204. CALL add_t_ds_task_instance_col_task_group_id;
  205. DROP PROCEDURE add_t_ds_task_instance_col_task_group_id;
  206. -- ALTER TABLE `t_ds_process_task_relation` ADD KEY `idx_code` (`project_code`, `process_definition_code`) USING BTREE;
  207. drop PROCEDURE if EXISTS add_t_ds_process_task_relation_key_idx_code;
  208. delimiter d//
  209. CREATE PROCEDURE add_t_ds_process_task_relation_key_idx_code()
  210. BEGIN
  211.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  212.         WHERE TABLE_NAME='t_ds_process_task_relation'
  213.         AND TABLE_SCHEMA=(SELECT DATABASE())
  214.         AND INDEX_NAME='idx_code')
  215.     THEN
  216. ALTER TABLE `t_ds_process_task_relation` ADD KEY `idx_code` (`project_code`, `process_definition_code`) USING BTREE;
  217. END IF;
  218. END;
  219. d//
  220. delimiter ;
  221. CALL add_t_ds_process_task_relation_key_idx_code;
  222. DROP PROCEDURE add_t_ds_process_task_relation_key_idx_code;
  223. -- ALTER TABLE `t_ds_process_task_relation` ADD KEY `idx_pre_task_code_version` (`pre_task_code`,`pre_task_version`);
  224. drop PROCEDURE if EXISTS add_t_ds_process_task_relation_key_idx_pre_task_code_version;
  225. delimiter d//
  226. CREATE PROCEDURE add_t_ds_process_task_relation_key_idx_pre_task_code_version()
  227. BEGIN
  228.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  229.         WHERE TABLE_NAME='t_ds_process_task_relation'
  230.         AND TABLE_SCHEMA=(SELECT DATABASE())
  231.         AND INDEX_NAME='idx_pre_task_code_version')
  232.     THEN
  233. ALTER TABLE `t_ds_process_task_relation` ADD KEY `idx_pre_task_code_version` (`pre_task_code`,`pre_task_version`);
  234. END IF;
  235. END;
  236. d//
  237. delimiter ;
  238. CALL add_t_ds_process_task_relation_key_idx_pre_task_code_version;
  239. DROP PROCEDURE add_t_ds_process_task_relation_key_idx_pre_task_code_version;
  240. -- ALTER TABLE `t_ds_process_task_relation` ADD KEY `idx_post_task_code_version` (`post_task_code`,`post_task_version`);
  241. drop PROCEDURE if EXISTS add_t_ds_process_task_relation_key_idx_post_task_code_version;
  242. delimiter d//
  243. CREATE PROCEDURE add_t_ds_process_task_relation_key_idx_post_task_code_version()
  244. BEGIN
  245.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  246.         WHERE TABLE_NAME='t_ds_process_task_relation'
  247.         AND TABLE_SCHEMA=(SELECT DATABASE())
  248.         AND INDEX_NAME='idx_post_task_code_version')
  249.     THEN
  250. ALTER TABLE `t_ds_process_task_relation` ADD KEY `idx_post_task_code_version` (`post_task_code`,`post_task_version`);
  251. END IF;
  252. END;
  253. d//
  254. delimiter ;
  255. CALL add_t_ds_process_task_relation_key_idx_post_task_code_version;
  256. DROP PROCEDURE add_t_ds_process_task_relation_key_idx_post_task_code_version;
  257. -- ALTER TABLE `t_ds_process_task_relation_log` ADD KEY `idx_process_code_version` (`process_definition_code`,`process_definition_version`) USING BTREE;
  258. drop PROCEDURE if EXISTS add_t_ds_process_task_relation_key_idx_process_code_version;
  259. delimiter d//
  260. CREATE PROCEDURE add_t_ds_process_task_relation_key_idx_process_code_version()
  261. BEGIN
  262.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  263.         WHERE TABLE_NAME='t_ds_process_task_relation_log'
  264.         AND TABLE_SCHEMA=(SELECT DATABASE())
  265.         AND INDEX_NAME='idx_process_code_version')
  266.     THEN
  267. ALTER TABLE `t_ds_process_task_relation_log` ADD KEY `idx_process_code_version` (`process_definition_code`,`process_definition_version`) USING BTREE;
  268. END IF;
  269. END;
  270. d//
  271. delimiter ;
  272. CALL add_t_ds_process_task_relation_key_idx_process_code_version;
  273. DROP PROCEDURE add_t_ds_process_task_relation_key_idx_process_code_version;
  274. -- ALTER TABLE `t_ds_task_definition_log` ADD INDEX `idx_project_code` (`project_code`) USING BTREE;
  275. drop PROCEDURE if EXISTS add_t_ds_task_definition_log_key_idx_process_code_version;
  276. delimiter d//
  277. CREATE PROCEDURE add_t_ds_task_definition_log_key_idx_process_code_version()
  278. BEGIN
  279.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  280.         WHERE TABLE_NAME='t_ds_task_definition_log'
  281.         AND TABLE_SCHEMA=(SELECT DATABASE())
  282.         AND INDEX_NAME='idx_project_code')
  283.     THEN
  284. ALTER TABLE `t_ds_task_definition_log` ADD INDEX `idx_project_code` (`project_code`) USING BTREE;
  285. END IF;
  286. END;
  287. d//
  288. delimiter ;
  289. CALL add_t_ds_task_definition_log_key_idx_process_code_version;
  290. DROP PROCEDURE add_t_ds_task_definition_log_key_idx_process_code_version;
  291. -- ALTER TABLE `t_ds_task_definition_log` ADD INDEX `idx_code_version` (`code`,`version`) USING BTREE;
  292. drop PROCEDURE if EXISTS add_t_ds_task_definition_log_key_idx_code_version;
  293. delimiter d//
  294. CREATE PROCEDURE add_t_ds_task_definition_log_key_idx_code_version()
  295. BEGIN
  296.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  297.         WHERE TABLE_NAME='t_ds_task_definition_log'
  298.         AND TABLE_SCHEMA=(SELECT DATABASE())
  299.         AND INDEX_NAME='idx_code_version')
  300.     THEN
  301. ALTER TABLE `t_ds_task_definition_log` ADD INDEX `idx_code_version` (`code`,`version`) USING BTREE;
  302. END IF;
  303. END;
  304. d//
  305. delimiter ;
  306. CALL add_t_ds_task_definition_log_key_idx_code_version;
  307. DROP PROCEDURE add_t_ds_task_definition_log_key_idx_code_version;
  308. -- alter table t_ds_task_definition_log add `task_group_id` int(11) DEFAULT NULL COMMENT 'task group id' AFTER `resource_ids`;
  309. drop PROCEDURE if EXISTS add_t_ds_task_definition_log_col_task_group_id;
  310. delimiter d//
  311. CREATE PROCEDURE add_t_ds_task_definition_log_col_task_group_id()
  312. BEGIN
  313.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  314.         WHERE TABLE_NAME='t_ds_task_definition_log'
  315.         AND TABLE_SCHEMA=(SELECT DATABASE())
  316.         AND COLUMN_NAME='task_group_id')
  317.     THEN
  318. alter table t_ds_task_definition_log add `task_group_id` int(11) DEFAULT NULL COMMENT 'task group id' AFTER `resource_ids`;
  319. END IF;
  320. END;
  321. d//
  322. delimiter ;
  323. CALL add_t_ds_task_definition_log_col_task_group_id;
  324. DROP PROCEDURE add_t_ds_task_definition_log_col_task_group_id;
  325. -- alter table t_ds_task_definition_log add `task_group_id` int(11) DEFAULT NULL COMMENT 'task group id' AFTER `resource_ids`;
  326. drop PROCEDURE if EXISTS add_t_ds_task_definition_col_task_group_id;
  327. delimiter d//
  328. CREATE PROCEDURE add_t_ds_task_definition_col_task_group_id()
  329. BEGIN
  330.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  331.         WHERE TABLE_NAME='t_ds_task_definition'
  332.         AND TABLE_SCHEMA=(SELECT DATABASE())
  333.         AND COLUMN_NAME='task_group_id')
  334.     THEN
  335. alter table t_ds_task_definition add `task_group_id` int DEFAULT NULL COMMENT 'task group id';
  336. END IF;
  337. END;
  338. d//
  339. delimiter ;
  340. CALL add_t_ds_task_definition_col_task_group_id;
  341. DROP PROCEDURE add_t_ds_task_definition_col_task_group_id;
  342. -- alter table t_ds_task_definition_log add `task_group_priority` int(11) DEFAULT NULL COMMENT 'task group id' AFTER `task_group_id`;
  343. drop PROCEDURE if EXISTS add_t_ds_task_definition_log_col_task_group_priority;
  344. delimiter d//
  345. CREATE PROCEDURE add_t_ds_task_definition_log_col_task_group_priority()
  346. BEGIN
  347.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  348.         WHERE TABLE_NAME='t_ds_task_definition_log'
  349.         AND TABLE_SCHEMA=(SELECT DATABASE())
  350.         AND COLUMN_NAME='task_group_priority')
  351.     THEN
  352. alter table t_ds_task_definition_log add `task_group_priority` tinyint DEFAULT '0' COMMENT 'task group priority' AFTER `task_group_id`;
  353. END IF;
  354. END;
  355. d//
  356. delimiter ;
  357. CALL add_t_ds_task_definition_log_col_task_group_priority;
  358. DROP PROCEDURE add_t_ds_task_definition_log_col_task_group_priority;
  359. -- alter table t_ds_task_definition add `task_group_priority` int(11) DEFAULT '0' COMMENT 'task group id' AFTER `task_group_id`;
  360. drop PROCEDURE if EXISTS add_t_ds_task_definition_col_task_group_priority;
  361. delimiter d//
  362. CREATE PROCEDURE add_t_ds_task_definition_col_task_group_priority()
  363. BEGIN
  364.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  365.         WHERE TABLE_NAME='t_ds_task_definition'
  366.         AND TABLE_SCHEMA=(SELECT DATABASE())
  367.         AND COLUMN_NAME='task_group_priority')
  368.     THEN
  369. alter table t_ds_task_definition add `task_group_priority` tinyint DEFAULT '0' COMMENT 'task group priority' AFTER `task_group_id`;
  370. END IF;
  371. END;
  372. d//
  373. delimiter ;
  374. CALL add_t_ds_task_definition_col_task_group_priority;
  375. DROP PROCEDURE add_t_ds_task_definition_col_task_group_priority;
  376. -- ALTER TABLE `t_ds_user` ADD COLUMN `time_zone` varchar(32) DEFAULT NULL COMMENT 'time zone';
  377. drop PROCEDURE if EXISTS add_t_ds_user_col_time_zone;
  378. delimiter d//
  379. CREATE PROCEDURE add_t_ds_user_col_time_zone()
  380. BEGIN
  381.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  382.         WHERE TABLE_NAME='t_ds_user'
  383.         AND TABLE_SCHEMA=(SELECT DATABASE())
  384.         AND COLUMN_NAME='time_zone')
  385.     THEN
  386. ALTER TABLE `t_ds_user` ADD COLUMN `time_zone` varchar(32) DEFAULT NULL COMMENT 'time zone';
  387. END IF;
  388. END;
  389. d//
  390. delimiter ;
  391. CALL add_t_ds_user_col_time_zone;
  392. DROP PROCEDURE add_t_ds_user_col_time_zone;
  393. -- ALTER TABLE `t_ds_alert` ADD COLUMN `warning_type` tinyint(4) DEFAULT '2' COMMENT '1 process is successfully, 2 process/task is failed';
  394. drop PROCEDURE if EXISTS add_t_ds_alert_col_warning_type;
  395. delimiter d//
  396. CREATE PROCEDURE add_t_ds_alert_col_warning_type()
  397. BEGIN
  398.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  399.         WHERE TABLE_NAME='t_ds_alert'
  400.         AND TABLE_SCHEMA=(SELECT DATABASE())
  401.         AND COLUMN_NAME='warning_type')
  402.     THEN
  403. ALTER TABLE `t_ds_alert` ADD COLUMN `warning_type` tinyint(4) DEFAULT '2' COMMENT '1 process is successfully, 2 process/task is failed';
  404. END IF;
  405. END;
  406. d//
  407. delimiter ;
  408. CALL add_t_ds_alert_col_warning_type;
  409. DROP PROCEDURE add_t_ds_alert_col_warning_type;
  410. -- ALTER TABLE `t_ds_alert` ADD INDEX `idx_status` (`alert_status`) USING BTREE;
  411. drop PROCEDURE if EXISTS add_t_ds_alert_idx_idx_status;
  412. delimiter d//
  413. CREATE PROCEDURE add_t_ds_alert_idx_idx_status()
  414. BEGIN
  415.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
  416.         WHERE TABLE_NAME='t_ds_alert'
  417.         AND TABLE_SCHEMA=(SELECT DATABASE())
  418.         AND INDEX_NAME='idx_status')
  419.     THEN
  420. ALTER TABLE `t_ds_alert` ADD INDEX `idx_status` (`alert_status`) USING BTREE;
  421. END IF;
  422. END;
  423. d//
  424. delimiter ;
  425. CALL add_t_ds_alert_idx_idx_status;
  426. DROP PROCEDURE add_t_ds_alert_idx_idx_status;
  427. -- ALTER TABLE `t_ds_alert` ADD COLUMN `project_code` bigint DEFAULT NULL COMMENT 'project_code';
  428. -- ALTER TABLE `t_ds_alert` ADD COLUMN `process_definition_code` bigint DEFAULT NULL COMMENT 'process_definition_code';
  429. -- ALTER TABLE `t_ds_alert` ADD COLUMN `process_instance_id` int DEFAULT NULL COMMENT 'process_instance_id';
  430. -- ALTER TABLE `t_ds_alert` ADD COLUMN `alert_type` int DEFAULT NULL COMMENT 'alert_type';
  431. drop PROCEDURE if EXISTS add_t_ds_alert_col_project_code;
  432. delimiter d//
  433. CREATE PROCEDURE add_t_ds_alert_col_project_code()
  434. BEGIN
  435.     IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  436.         WHERE TABLE_NAME='t_ds_alert'
  437.         AND TABLE_SCHEMA=(SELECT DATABASE())
  438.         AND COLUMN_NAME='project_code')
  439.     THEN
  440. ALTER TABLE `t_ds_alert` ADD COLUMN `project_code` bigint DEFAULT NULL COMMENT 'project_code';
  441. ALTER TABLE `t_ds_alert` ADD COLUMN `process_definition_code` bigint DEFAULT NULL COMMENT 'process_definition_code';
  442. ALTER TABLE `t_ds_alert` ADD COLUMN `process_instance_id` int DEFAULT NULL COMMENT 'process_instance_id';
  443. ALTER TABLE `t_ds_alert` ADD COLUMN `alert_type` int DEFAULT NULL COMMENT 'alert_type';
  444. END IF;
  445. END;
  446. d//
  447. delimiter ;
  448. # CALL add_t_ds_alert_col_project_code;
  449. DROP PROCEDURE add_t_ds_alert_col_project_code;
  450. -- t_ds_task_instance
  451. drop PROCEDURE if EXISTS alter_t_ds_task_instance_col_log_path;
  452. delimiter d//
  453. CREATE PROCEDURE alter_t_ds_task_instance_col_log_path()
  454. BEGIN
  455.     IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
  456.         WHERE TABLE_NAME='t_ds_task_instance'
  457.         AND TABLE_SCHEMA=(SELECT DATABASE())
  458.         AND COLUMN_NAME='log_path')
  459.     THEN
  460. ALTER TABLE `t_ds_task_instance` MODIFY COLUMN `log_path` longtext DEFAULT NULL COMMENT 'task log path';
  461. END IF;
  462. END;
  463. d//
  464. delimiter ;
  465. CALL alter_t_ds_task_instance_col_log_path;
  466. DROP PROCEDURE alter_t_ds_task_instance_col_log_path;
  467. --
  468. -- Table structure for table `t_ds_dq_comparison_type`
  469. --
  470. DROP TABLE IF EXISTS `t_ds_dq_comparison_type`;
  471. CREATE TABLE `t_ds_dq_comparison_type` (
  472.                                            `id` int(11) NOT NULL AUTO_INCREMENT,
  473.                                            `type` varchar(100) NOT NULL,
  474.                                            `execute_sql` text DEFAULT NULL,
  475.                                            `output_table` varchar(100) DEFAULT NULL,
  476.                                            `name` varchar(100) DEFAULT NULL,
  477.                                            `create_time` datetime DEFAULT NULL,
  478.                                            `update_time` datetime DEFAULT NULL,
  479.                                            `is_inner_source` tinyint(1) DEFAULT '0',
  480.                                            PRIMARY KEY (`id`)
  481. )ENGINE=InnoDB DEFAULT CHARSET=utf8;
  482. --
  483. -- Table structure for table t_ds_dq_execute_result
  484. --
  485. DROP TABLE IF EXISTS `t_ds_dq_execute_result`;
  486. CREATE TABLE `t_ds_dq_execute_result` (
  487.                                           `id` int(11) NOT NULL AUTO_INCREMENT,
  488.                                           `process_definition_id` int(11) DEFAULT NULL,
  489.                                           `process_instance_id` int(11) DEFAULT NULL,
  490.                                           `task_instance_id` int(11) DEFAULT NULL,
  491.                                           `rule_type` int(11) DEFAULT NULL,
  492.                                           `rule_name` varchar(255) DEFAULT NULL,
  493.                                           `statistics_value` double DEFAULT NULL,
  494.                                           `comparison_value` double DEFAULT NULL,
  495.                                           `check_type` int(11) DEFAULT NULL,
  496.                                           `threshold` double DEFAULT NULL,
  497.                                           `operator` int(11) DEFAULT NULL,
  498.                                           `failure_strategy` int(11) DEFAULT NULL,
  499.                                           `state` int(11) DEFAULT NULL,
  500.                                           `user_id` int(11) DEFAULT NULL,
  501.                                           `comparison_type` int(11) DEFAULT NULL,
  502.                                           `error_output_path` text DEFAULT NULL,
  503.                                           `create_time` datetime DEFAULT NULL,
  504.                                           `update_time` datetime DEFAULT NULL,
  505.                                           PRIMARY KEY (`id`)
  506. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  507. --
  508. -- Table structure for table t_ds_dq_rule
  509. --
  510. DROP TABLE IF EXISTS `t_ds_dq_rule`;
  511. CREATE TABLE `t_ds_dq_rule` (
  512.                                 `id` int(11) NOT NULL AUTO_INCREMENT,
  513.                                 `name` varchar(100) DEFAULT NULL,
  514.                                 `type` int(11) DEFAULT NULL,
  515.                                 `user_id` int(11) DEFAULT NULL,
  516.                                 `create_time` datetime DEFAULT NULL,
  517.                                 `update_time` datetime DEFAULT NULL,
  518.                                 PRIMARY KEY (`id`)
  519. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  520. --
  521. -- Table structure for table t_ds_dq_rule_execute_sql
  522. --
  523. DROP TABLE IF EXISTS `t_ds_dq_rule_execute_sql`;
  524. CREATE TABLE `t_ds_dq_rule_execute_sql` (
  525.                                             `id` int(11) NOT NULL AUTO_INCREMENT,
  526.                                             `index` int(11) DEFAULT NULL,
  527.                                             `sql` text DEFAULT NULL,
  528.                                             `table_alias` varchar(255) DEFAULT NULL,
  529.                                             `type` int(11) DEFAULT NULL,
  530.                                             `is_error_output_sql` tinyint(1) DEFAULT '0',
  531.                                             `create_time` datetime DEFAULT NULL,
  532.                                             `update_time` datetime DEFAULT NULL,
  533.                                             PRIMARY KEY (`id`)
  534. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  535. --
  536. -- Table structure for table t_ds_dq_rule_input_entry
  537. --
  538. DROP TABLE IF EXISTS `t_ds_dq_rule_input_entry`;
  539. CREATE TABLE `t_ds_dq_rule_input_entry` (
  540.                                             `id` int(11) NOT NULL AUTO_INCREMENT,
  541.                                             `field` varchar(255) DEFAULT NULL,
  542.                                             `type` varchar(255) DEFAULT NULL,
  543.                                             `title` varchar(255) DEFAULT NULL,
  544.                                             `value` varchar(255)  DEFAULT NULL,
  545.                                             `options` text DEFAULT NULL,
  546.                                             `placeholder` varchar(255) DEFAULT NULL,
  547.                                             `option_source_type` int(11) DEFAULT NULL,
  548.                                             `value_type` int(11) DEFAULT NULL,
  549.                                             `input_type` int(11) DEFAULT NULL,
  550.                                             `is_show` tinyint(1) DEFAULT '1',
  551.                                             `can_edit` tinyint(1) DEFAULT '1',
  552.                                             `is_emit` tinyint(1) DEFAULT '0',
  553.                                             `is_validate` tinyint(1) DEFAULT '1',
  554.                                             `create_time` datetime DEFAULT NULL,
  555.                                             `update_time` datetime DEFAULT NULL,
  556.                                             PRIMARY KEY (`id`)
  557. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  558. --
  559. -- Table structure for table t_ds_dq_task_statistics_value
  560. --
  561. DROP TABLE IF EXISTS `t_ds_dq_task_statistics_value`;
  562. CREATE TABLE `t_ds_dq_task_statistics_value` (
  563.                                                  `id` int(11) NOT NULL AUTO_INCREMENT,
  564.                                                  `process_definition_id` int(11) DEFAULT NULL,
  565.                                                  `task_instance_id` int(11) DEFAULT NULL,
  566.                                                  `rule_id` int(11) NOT NULL,
  567.                                                  `unique_code` varchar(255) NULL,
  568.                                                  `statistics_name` varchar(255) NULL,
  569.                                                  `statistics_value` double NULL,
  570.                                                  `data_time` datetime DEFAULT NULL,
  571.                                                  `create_time` datetime DEFAULT NULL,
  572.                                                  `update_time` datetime DEFAULT NULL,
  573.                                                  PRIMARY KEY (`id`)
  574. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  575. --
  576. -- Table structure for table t_ds_relation_rule_execute_sql
  577. --
  578. DROP TABLE IF EXISTS `t_ds_relation_rule_execute_sql`;
  579. CREATE TABLE `t_ds_relation_rule_execute_sql` (
  580.                                                   `id` int(11) NOT NULL AUTO_INCREMENT,
  581.                                                   `rule_id` int(11) DEFAULT NULL,
  582.                                                   `execute_sql_id` int(11) DEFAULT NULL,
  583.                                                   `create_time` datetime NULL,
  584.                                                   `update_time` datetime NULL,
  585.                                                   PRIMARY KEY (`id`)
  586. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  587. --
  588. -- Table structure for table t_ds_relation_rule_input_entry
  589. --
  590. DROP TABLE IF EXISTS `t_ds_relation_rule_input_entry`;
  591. CREATE TABLE `t_ds_relation_rule_input_entry` (
  592.                                                   `id` int(11) NOT NULL AUTO_INCREMENT,
  593.                                                   `rule_id` int(11) DEFAULT NULL,
  594.                                                   `rule_input_entry_id` int(11) DEFAULT NULL,
  595.                                                   `values_map` text DEFAULT NULL,
  596.                                                   `index` int(11) DEFAULT NULL,
  597.                                                   `create_time` datetime DEFAULT NULL,
  598.                                                   `update_time` datetime DEFAULT NULL,
  599.                                                   PRIMARY KEY (`id`)
  600. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  601. -- ----------------------------
  602. -- Table structure for t_ds_k8s
  603. -- ----------------------------
  604. DROP TABLE IF EXISTS `t_ds_k8s`;
  605. CREATE TABLE `t_ds_k8s` (
  606.   `id` int(11) NOT NULL AUTO_INCREMENT,
  607.   `k8s_name` varchar(100) DEFAULT NULL,
  608.   `k8s_config` text DEFAULT NULL,
  609.   `create_time` datetime DEFAULT NULL COMMENT 'create time',
  610.   `update_time` datetime DEFAULT NULL COMMENT 'update time',
  611.   PRIMARY KEY (`id`)
  612. ) ENGINE= INNODB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8;
  613. -- ----------------------------
  614. -- Table structure for t_ds_k8s_namespace
  615. -- ----------------------------
  616. DROP TABLE IF EXISTS `t_ds_k8s_namespace`;
  617. CREATE TABLE `t_ds_k8s_namespace` (
  618.   `id` int(11) NOT NULL AUTO_INCREMENT,
  619.   `limits_memory` int(11) DEFAULT NULL,
  620.   `namespace` varchar(100) DEFAULT NULL,
  621.   `online_job_num` int(11) DEFAULT NULL,
  622.   `user_id` int(11) DEFAULT NULL,
  623.   `pod_replicas` int(11) DEFAULT NULL,
  624.   `pod_request_cpu` decimal(14,3) DEFAULT NULL,
  625.   `pod_request_memory` int(11) DEFAULT NULL,
  626.   `limits_cpu` decimal(14,3) DEFAULT NULL,
  627.   `k8s` varchar(100) DEFAULT NULL,
  628.   `create_time` datetime DEFAULT NULL COMMENT 'create time',
  629.   `update_time` datetime DEFAULT NULL COMMENT 'update time',
  630.   PRIMARY KEY (`id`),
  631.   UNIQUE KEY `k8s_namespace_unique` (`namespace`,`k8s`)
  632. ) ENGINE= INNODB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8;
  633. -- ----------------------------
  634. -- Table structure for t_ds_relation_namespace_user
  635. -- ----------------------------
  636. DROP TABLE IF EXISTS `t_ds_relation_namespace_user`;
  637. CREATE TABLE `t_ds_relation_namespace_user` (
  638.   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key',
  639.   `user_id` int(11) NOT NULL COMMENT 'user id',
  640.   `namespace_id` int(11) DEFAULT NULL COMMENT 'namespace id',
  641.   `perm` int(11) DEFAULT '1' COMMENT 'limits of authority',
  642.   `create_time` datetime DEFAULT NULL COMMENT 'create time',
  643.   `update_time` datetime DEFAULT NULL COMMENT 'update time',
  644.   PRIMARY KEY (`id`),
  645.   UNIQUE KEY `namespace_user_unique` (`user_id`,`namespace_id`)
  646. ) ENGINE=InnoDB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8;
  647. -- ----------------------------
  648. -- Table structure for t_ds_alert_send_status
  649. -- ----------------------------
  650. DROP TABLE IF EXISTS t_ds_alert_send_status;
  651. CREATE TABLE t_ds_alert_send_status (
  652.     `id`                            int(11) NOT NULL AUTO_INCREMENT,
  653.     `alert_id`                      int(11) NOT NULL,
  654.     `alert_plugin_instance_id`      int(11) NOT NULL,
  655.     `send_status`                   tinyint(4) DEFAULT '0',
  656.     `log`                           text,
  657.     `create_time`                   datetime DEFAULT NULL COMMENT 'create time',
  658.     PRIMARY KEY (`id`),
  659.     UNIQUE KEY `alert_send_status_unique` (`alert_id`,`alert_plugin_instance_id`)
  660. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  661. -- ----------------------------
  662. -- Table structure for t_ds_audit_log
  663. -- ----------------------------
  664. DROP TABLE IF EXISTS `t_ds_audit_log`;
  665. CREATE TABLE `t_ds_audit_log` (
  666.     `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT'key',
  667.     `user_id` int(11) NOT NULL COMMENT 'user id',
  668.     `resource_type` int(11) NOT NULL COMMENT 'resource type',
  669.     `operation` int(11) NOT NULL COMMENT 'operation',
  670.     `time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'create time',
  671.     `resource_id` int(11) NULL DEFAULT NULL COMMENT 'resource id',
  672.     PRIMARY KEY (`id`)
  673. ) ENGINE=InnoDB AUTO_INCREMENT= 1 DEFAULT CHARSET=utf8;
  674. -- ----------------------------
  675. -- Table structure for t_ds_task_group
  676. -- ----------------------------
  677. DROP TABLE IF EXISTS `t_ds_task_group`;
  678. CREATE TABLE `t_ds_task_group` (
  679.    `id`  int(11)  NOT NULL AUTO_INCREMENT COMMENT'key',
  680.    `name` varchar(100) DEFAULT NULL COMMENT 'task_group name',
  681.    `description` varchar(200) DEFAULT NULL,
  682.    `group_size` int (11) NOT NULL COMMENT'group size',
  683.    `use_size` int (11) DEFAULT '0' COMMENT 'used size',
  684.    `user_id` int(11) DEFAULT NULL COMMENT 'creator id',
  685.    `project_code` bigint(20) DEFAULT 0 COMMENT 'project code',
  686.    `status` tinyint(4) DEFAULT '1' COMMENT '0 not available, 1 available',
  687.    `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  688.    `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  689.    PRIMARY KEY(`id`)
  690. ) ENGINE= INNODB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8;
  691. -- ----------------------------
  692. -- Table structure for t_ds_task_group_queue
  693. -- ----------------------------
  694. DROP TABLE IF EXISTS `t_ds_task_group_queue`;
  695. CREATE TABLE `t_ds_task_group_queue` (
  696.    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT'key',
  697.    `task_id` int(11) DEFAULT NULL COMMENT 'taskintanceid',
  698.    `task_name` varchar(100) DEFAULT NULL COMMENT 'TaskInstance name',
  699.    `group_id`  int(11) DEFAULT NULL COMMENT 'taskGroup id',
  700.    `process_id` int(11) DEFAULT NULL COMMENT 'processInstace id',
  701.    `priority` int(8) DEFAULT '0' COMMENT 'priority',
  702.    `status` tinyint(4) DEFAULT '-1' COMMENT '-1: waiting  1: running  2: finished',
  703.    `force_start` tinyint(4) DEFAULT '0' COMMENT 'is force start 0 NO ,1 YES',
  704.    `in_queue` tinyint(4) DEFAULT '0' COMMENT 'ready to get the queue by other task finish 0 NO ,1 YES',
  705.    `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  706.    `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  707.    PRIMARY KEY( `id` )
  708. )ENGINE= INNODB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8;
  709. ALTER TABLE t_ds_process_instance ADD`next_process_instance_id` int(11) DEFAULT '0' COMMENT 'serial queue next processInstanceId';
  710. ALTER TABLE t_ds_process_instance ADD `restart_time` datetime DEFAULT NULL COMMENT 'process instance restart time';
  711. ALTER TABLE t_ds_process_definition ADD   `execution_type` tinyint(4) DEFAULT '0' COMMENT 'execution_type 0:parallel,1:serial wait,2:serial discard,3:serial priority';
  712. ALTER TABLE t_ds_process_definition_log ADD   `execution_type` tinyint(4) DEFAULT '0' COMMENT 'execution_type 0:parallel,1:serial wait,2:serial discard,3:serial priority';
复制代码

  • 安装3.0.1 DS
    具体安装参考官网,创建新库,这里不做介绍。
introduction (apache.org)

  • 把DS2.0数据导入数据库
    需要重点注意:
次脚本导入时:
1. 定时调度 状态全设置为下线状态;定时表 中 t_ds_schedules release_state全设置为0了,为了防止和原调度冲突,测试完成后需要手动上线即可。
2. worker 分组组信息需要重新设置,和原先保持一致即可。
3. 告警实例管理需要重新添加,然后在告警组管理中重新绑定。
  1. #项目表
  2. truncate table t_ds_project;
  3. insert into t_ds_project
  4. select id,
  5.        name,
  6.        code,
  7.        description,
  8.        user_id,
  9.        flag,
  10.        create_time,
  11.        update_time
  12. from dolphin201.t_ds_project;
  13. #任务过程定义####唯一dag
  14. truncate table t_ds_process_definition;
  15. insert into t_ds_process_definition
  16. select id,
  17.        code,
  18.        name,
  19.        version,
  20.        description,
  21.        project_code,
  22.        release_state,
  23.        user_id,
  24.        global_params,
  25.        flag,
  26.        locations,
  27.        warning_group_id,
  28.        timeout,
  29.        tenant_id,
  30.        execution_type,
  31.        create_time,
  32.        update_time
  33. from dolphin201.t_ds_process_definition;
  34. #任务过程定义日志
  35. truncate table t_ds_process_definition_log;
  36. insert into t_ds_process_definition_log
  37. select t1.id,
  38.        t1.code,
  39.        t1.name,
  40.        t1.version,
  41.        t1.description,
  42.        t1.project_code,
  43.        t1.release_state,
  44.        t1.user_id,
  45.        t1.global_params,
  46.        t1.flag,
  47.        t1.locations,
  48.        t1.warning_group_id,
  49.        t1.timeout,
  50.        t1.tenant_id,
  51.        t1.execution_type,
  52.        t1.operator,
  53.        t1.operate_time,
  54.        t1.create_time,
  55.        t1.update_time
  56. from dolphin201.t_ds_process_definition_log t1
  57.          inner join (select code, project_code, max(version) version
  58.                      from dolphin201.t_ds_process_definition_log
  59.                      group by project_code, code) t2
  60.                     on t1.code = t2.code and t1.project_code = t2.project_code and t1.version = t2.version
  61.                    ;
  62. ###进行任务相关性表
  63. truncate table t_ds_process_task_relation;
  64. insert into t_ds_process_task_relation
  65. select id,
  66.        name,
  67.        project_code,
  68.        process_definition_code,
  69.        process_definition_version,
  70.        pre_task_code,
  71.        pre_task_version,
  72.        post_task_code,
  73.        post_task_version,
  74.        condition_type,
  75.        condition_params,
  76.        create_time,
  77.        update_time
  78. from dolphin201.t_ds_process_task_relation;
  79. ###进行任务相关性表日志
  80. truncate table t_ds_process_task_relation_log;
  81. insert into t_ds_process_task_relation_log
  82. select t3.id,
  83.        t3.name,
  84.        t3.project_code,
  85.        t3.process_definition_code,
  86.        t3.process_definition_version,
  87.        t3.pre_task_code,
  88.        t3.pre_task_version,
  89.        t3.post_task_code,
  90.        t3.post_task_version,
  91.        t3.condition_type,
  92.        t3.condition_params,
  93.        t3.operator,
  94.        t3.operate_time,
  95.        t3.create_time,
  96.        t3.update_time # from t_ds_process_task_relation;
  97. from dolphin201.t_ds_process_task_relation_log t3
  98.          inner join (select project_code,
  99.                             process_definition_code,
  100.                             post_task_code,
  101.                             max(process_definition_version) process_definition_version,
  102.                             max(post_task_version) AS       post_task_version
  103.                      from dolphin201.t_ds_process_task_relation_log
  104.                      group by project_code, process_definition_code, post_task_code) t4
  105.                     on t3.project_code = t4.project_code
  106.                         and t3.process_definition_code = t4.process_definition_code
  107.                         and t3.post_task_code = t4.post_task_code
  108.                         and t3.process_definition_version = t4.process_definition_version
  109.                         and t3.post_task_version = t4.post_task_version
  110. ;
  111. ###任务定义
  112. truncate table t_ds_task_definition;
  113. insert into t_ds_task_definition
  114. select id,
  115.        code,
  116.        name,
  117.        version,
  118.        description,
  119.        project_code,
  120.        user_id,
  121.        task_type,
  122.        task_params,
  123.        flag,
  124.        task_priority,
  125.        worker_group,
  126.        environment_code,
  127.        fail_retry_times,
  128.        fail_retry_interval,
  129.        timeout_flag,
  130.        timeout_notify_strategy,
  131.        timeout,
  132.        delay_time,
  133.        resource_ids,
  134.        task_group_id,
  135.        task_group_priority,
  136.        create_time,
  137.        update_time
  138. from dolphin201.t_ds_task_definition;
  139. ###任务定义日志
  140. truncate table t_ds_task_definition_log;
  141. insert into t_ds_task_definition_log
  142. select t5.id,
  143.        t5.code,
  144.        t5.name,
  145.        t5.version,
  146.        t5.description,
  147.        t5.project_code,
  148.        t5.user_id,
  149.        t5.task_type,
  150.        t5.task_params,
  151.        t5.flag,
  152.        t5.task_priority,
  153.        t5.worker_group,
  154.        t5.environment_code,
  155.        t5.fail_retry_times,
  156.        t5.fail_retry_interval,
  157.        t5.timeout_flag,
  158.        t5.timeout_notify_strategy,
  159.        t5.timeout,
  160.        t5.delay_time,
  161.        t5.resource_ids,
  162.        t5.operator,
  163.        t5.task_group_id,
  164.        t5.task_group_priority,
  165.        t5.operate_time,
  166.        t5.create_time,
  167.        t5.update_time
  168. from dolphin201.t_ds_task_definition_log t5
  169. ;
  170. ###定时计划
  171. truncate table t_ds_schedules;
  172. insert into t_ds_schedules
  173. select id,
  174.        process_definition_code,
  175.        start_time,
  176.        end_time,
  177.        timezone_id,
  178.        crontab,
  179.        failure_strategy,
  180.        user_id,
  181.        '0' AS release_state,
  182.        warning_type,
  183.        warning_group_id,
  184.        process_instance_priority,
  185.        worker_group,
  186.        environment_code,
  187.        create_time,
  188.        update_time
  189. from dolphin201.t_ds_schedules;
  190. ###告警组
  191. truncate table t_ds_alertgroup;
  192. insert into t_ds_alertgroup
  193. select id,
  194.         alert_instance_ids,
  195.         create_user_id,
  196.         group_name,
  197.         description,
  198.         create_time,
  199.         update_time
  200. from dolphin201.t_ds_alertgroup;
  201. #
  202. # ###告警组信息  ,这张表信息有冲突故不导入,后续自己配置下
  203. # truncate table t_ds_alert_plugin_instance;
  204. # insert into t_ds_alert_plugin_instance
  205. # select id, plugin_define_id, plugin_instance_params, create_time, update_time, instance_name
  206. # from dolphin201.t_ds_alert_plugin_instance;
  207. ###用户
  208. truncate table t_ds_user;
  209. insert into t_ds_user
  210. select id,
  211.        user_name,
  212.        user_password,
  213.        user_type,
  214.        email,
  215.        phone,
  216.        tenant_id,
  217.        create_time,
  218.        update_time,
  219.        queue,
  220.        state,
  221.        time_zone
  222. from dolphin201.t_ds_user;
  223. ###租户
  224. truncate table t_ds_tenant;
  225. insert into t_ds_tenant
  226. select id,
  227.        tenant_code,
  228.        description,
  229.        queue_id,
  230.        create_time,
  231.        update_time
  232. from dolphin201.t_ds_tenant;
  233. ####资源中心
  234. truncate table t_ds_resources;
  235. insert into t_ds_resources
  236. select id,
  237.        alias,
  238.        file_name,
  239.        description,
  240.        user_id,
  241.        type,
  242.        size,
  243.        create_time,
  244.        update_time,
  245.        pid,
  246.        full_name,
  247.        is_directory
  248. from dolphin201.t_ds_resources;
  249. ####数据源
  250. truncate table t_ds_datasource;
  251. insert into t_ds_datasource
  252. select id,
  253.        name,
  254.        note,
  255.        type,
  256.        user_id,
  257.        connection_params,
  258.        create_time,
  259.        update_time
  260. from dolphin201.t_ds_datasource;
  261. ###环境情况
  262. truncate table t_ds_environment;
  263. insert into t_ds_environment
  264. select id,
  265.        code,
  266.        name,
  267.        config,
  268.        description,
  269.        operator,
  270.        create_time,
  271.        update_time
  272. from dolphin201.t_ds_environment;
复制代码

  • 遇到问题和解决方案


  • 任务无法打开
2.jpeg

如直接使用官网任务脚本会报次错误,这保存可以直接看日志,是由于字段缺少导致的,上面ddl语句中已经添加相关字段语句。

  • 会出现少量任务无法保存问题,主要原因主键冲突造成的
最简单的解决方案:重新复制一个任务,在新任务中进行更改保存。

  • 用户授权的任务需要进行重新授权。
转载自缤纷的世界
原文链接:https://blog.csdn.net/m0_46571744/article/details/128175021
本文由 白鲸开源 提供发布支持!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册