文章目录

  • 摘要
  • 项目背景
  • 功能要求
  • 功能说明
  • 1.1用例图
  • 1.2业务流程分析
  • 1.3业务ER图
  • 1.4 管理任务流程图
  • 1.5功能设计详细说明点
  • 1.6页面原型
  • 三、本人相关其他文章链接

摘要

①dolphinscheduler调度器可视化画面地址:
http://192.168.20.43:12345/dolphinscheduler/ui/view/login/index.html
用户名:admin
密码:dolphinscheduler123

②Dolphin Scheduler Api Docs 文档API地址:
http://192.168.20.43:12345/dolphinscheduler/doc.html

③Dolphin Scheduler 官网地址可查看文档及ER图等等
https://dolphinscheduler.apache.org/zh-cn/docs/1.3.5/user_doc/metadata-1.3.html

项目背景

使大数据平台具备更见健全及多种脚本模型等支持,需要搭载dolphinscheduler调度器,以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态,支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等,支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、- 从指定节点恢复失败、Kill任务等操作,支持任务日志在线查看及滚动、在线下载日志等。

功能要求

大数据平台可视化配置spark执行任务、datax同步任务 -> 通过接入dolphinscheduler调度器 管理、执行。

功能说明

(大数据平台页面可显示的)大数据平台接入dolphinscheduler功能如下:项目管理操作、spark任务功能管理操作、datax数据同步任务管理、执行、停止任务操作。
(大数据平台页面不可见的)工作流管理操作,包括工作流创建、更新、删除操作页面。工作流实例页面、任务实例页面。

1.1用例图

1.2业务流程分析

1.3业务ER图

dolphinscheduler中项目、工作流、节点任务ER图

1.4 管理任务流程图

1.5功能设计详细说明点

说明:
① “项目定义”:由大数据平台所有用户所共享

② “工作流定义”:每个用户单独创建一类工作流,spark任务工作流叫userId-dragSparkTask、数据同步任务工作流叫:userId-dataxTask

③ “创建或更新工作流时更新参数locations”得x,y坐标,
第一次创建工作流节点x=0,y=0,更新节点时获取坐标y最大且离远点最远节点判断临界条件(如果x<1500 -> x+80,如果x>=1500 -> y+80),确保两节点不重叠且在同一页面

④ 
1)针对spark任务:
“创建或更新工作流时更新参数processDefinitionJson”时,需传转义字符()和字符串的双引号(“),不然工作流节点的主程序参数无法设置且在dolphinscheduler节点中无法执行,其中参数“mainArgs”中“}}”替换为“} }”,且需要拼接“\”转义字符,另外任务参数需要“\\”,不然接收方节点得main的args参数格式无法设置进去、解析及使用。
2)针对数据同步任务:
“创建或更新工作流时更新参数processDefinitionJson”时,需传转字符串的双引号(”),且params参数的json参数需要转义字符(),不然工作流节点的主程序参数无法设置且在dolphinscheduler节点中无法执行。
⑤ “创建或更新工作流”时,参数locations和processDefinitionJson中的两个参数(id、name)要保持一致,其中“spark-任务ID”和“datax-任务ID”,“name”:“xxx”->代表工作流中节点名字,举例说明:

locations {“spark-110”:{“name”:“spark-110” 、 {“datax-110”:{“name”:“datax-110”
processDefinitionJson “id”:“spark-110”,“name”:“spark-110” 、 “id”:“datax-110”,“name”:“datax-110”


1)创建spark任务节点参数说明

参数 说明
connects [] 流程定义节点图标连接信息(json格式)
locations {“spark-100”:{“name”:“spark-100”,“targetarr”:“”,“nodenumber”:“0”,“x”:50,“y”:50}} 流程定义节点坐标位置信息(json格式)
name spark-任务ID 流程定义名称
id 94 流程定义ID
processDefinitionJson {“globalParams”:[],“tasks”:[{“type”:“SPARK”,“id”:“spark-100”,“name”:“spark-100”,“params”:{“mainClass”:“Test2”,“mainJar”:{“id”:64},“deployMode”:“cluster”,“resourceList”:[],“localParams”:[],“driverCores”:1,“driverMemory”:“1G”,“numExecutors”:“1”,“executorMemory”:“1G”,“executorCores”:“1”,“mainArgs”:“”{\“nodes\”:[{\“outputs\”:[\“9e3be626\”],\“color\”:\“#1890FF\”,\“shape\”:\“flow-circle\”,\“inputs\”:[],\“index\”:0,\“label\”:\“dataSource_8548f316\”,\“modelType\”:\“dataSource\”,\“type\”:\“node\”,\“size\”:\“7272\“,\“x\”:227.05078125,\“name\”:\“数据源_8548f316\”,\“y\”:131.0625,\“id\”:\“8548f316\”,\“config\”:{\“targetTable\”:\“machine_learning_house_info2\”,\“sourceType\”:\“mysql\”} },{\“outputs\”:[],\“color\”:\”#cba022\",\“shape\”:\“flow-rect\”,\“inputs\”:[\“8548f316\”],\“index\”:1,\“label\”:\“simpleSampling_9e3be626\”,\“modelType\”:\“simpleSampling\”,\“type\”:\“node\”,\“size\”:\"15033\”,\“x\”:228.05078125,\“name\”:\“采样《随机采样》_9e3be626\”,\“y\”:346.0625,\“id\”:\“9e3be626\”,\“config\”:{\“seed\”:\“\”,\“withReplacement\”:false,\“countOrRatio\”:\“200\”,\“sampleType\”:0} }],\“name\”:\“da’s13\”,\“id\”:44,\“describeInfo\”:\“sdasad\”}“”,“others”:“”,“programType”:“JAVA”,“sparkVersion”:“SPARK2”},“description”:“”,“timeout”:{“strategy”:“”,“interval”:null,“enable”:false},“runFlag”:“NORMAL”,“conditionResult”:{“successNode”:[“”],“failedNode”:[“”]},“dependence”:{},“maxRetryTimes”:“0”,“retryInterval”:“1”,“taskInstancePriority”:“MEDIUM”,“workerGroup”:“default”,“preTasks”:[]}],“tenantId”:3,“timeout”:0} 流程定义详细信息(json格式),type:节点类型,id:tasks-任务ID,代表节点ID,name,spark-任务ID,代表节点名称,params:节点所有参数,mainClass:spark任务jar得主函数,mainJar:代dolphinscheduler调度器得资源中心上得资源ID,mainArgs:代表spark任务jar所需要的参数String[] args tenantId:租户ID,也就是hdfs租户ID

2)创建datax任务节点参数说明

参数 说明
connects [] 流程定义节点图标连接信息(json格式)
locations {“datax-100”:{“name”:“datax-100”,“targetarr”:“”,“nodenumber”:“0”,“x”:50,“y”:50}} 流程定义节点坐标位置信息(json格式)
name datax-任务ID 流程定义名称
id 95 流程定义ID
processDefinitionJson {“tenantId”:3,“globalParams”:[],“timeout”:0,“tasks”:[{“conditionResult”:{“successNode”:[],“failedNode”:[]},“description”:“”,“runFlag”:“NORMAL”,“type”:“DATAX”,“params”:{“customConfig”:1,“json”:“{“job”:{“content”:[{“reader”:{“parameter”:{“password”:“gee123456”,“connection”:[{“querySql”:[“SELECT id, name FROM test_test”],“jdbcUrl”:[“jdbc:mysql://192.168.20.75:9950/geespace_bd_platform_dev”]}],“username”:“geespace”},“name”:“mysqlreader”},“writer”:{“parameter”:{“password”:“gee123456”,“column”:[“id”,“name”],“connection”:[{“jdbcUrl”:“jdbc:mysql://192.168.20.75:9950/geespace_bd_platform_dev”,“table”:[“test_test_1”]}],“writeMode”:“insert”,“username”:“geespace”},“name”:“mysqlwriter”}}],“setting”:{“errorLimit”:{“record”:0,“percentage”:0.02},“speed”:{“channel”:1}}}}”,“localParams”:[]},“timeout”:{“enable”:false,“strategy”:“”},“maxRetryTimes”:“0”,“taskInstancePriority”:“MEDIUM”,“name”:“datax-144”,“dependence”:{},“retryInterval”:“1”,“preTasks”:[],“id”:“datax-144”,“workerGroup”:“default”}]} 流程定义详细信息(json格式),type:节点类型,id:datax-任务ID,代表节点ID,name:datax-任务ID,代表节点名称,params:节点所有参数,customConfig:代表数据同步类型,json:数据同步datax的json,localParams:[],tenantId:租户ID,也就是hdfs租户ID

1.6页面原型




三、本人相关其他文章链接

1.springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理:
https://blog.csdn.net/a924382407/article/details/117119831

2.springboot项目集成dolphinscheduler调度器 实现datax数据同步任务:
https://blog.csdn.net/a924382407/article/details/120951230

3.springboot项目集成dolphinscheduler调度器 项目管理:
https://blog.csdn.net/a924382407/article/details/117118931

4.springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
https://blog.csdn.net/a924382407/article/details/117121181

5.springboot项目集成大数据第三方dolphinscheduler调度器
https://blog.csdn.net/a924382407/article/details/117113848

springboot项目集成大数据第三方dolphinscheduler调度器相关推荐

  1. springboot项目集成dolphinscheduler调度器 实现datax数据同步任务

    Datax安装及基本使用请查看上一篇文章: 文章目录 Datax概述 1.概述 2.功能清单 3.==说明==:本项目只支持mysql及hbase之间的数据同步 代码模块 配置文件 pom.xml D ...

  2. Springboot毕设项目基于大数据的毕业生去向追踪系统8lrp3java+VUE+Mybatis+Maven+Mysql+sprnig)

    Springboot毕设项目基于大数据的毕业生去向追踪系统8lrp3java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 ...

  3. Springboot毕设项目基于大数据平台的个性化图书推荐系统02tt9java+VUE+Mybatis+Maven+Mysql+sprnig)

    Springboot毕设项目基于大数据平台的个性化图书推荐系统02tt9java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8 ...

  4. 面向大数据与云计算调度挑战的阿里经济体核心调度系统

    编者按 伏羲(Fuxi)是十年前最初创立飞天平台时的三大服务之一(分布式存储 Pangu,分布式计算 MaxCompute,分布式调度 Fuxi),当时的设计初衷是为了解决大规模分布式资源的调度问题( ...

  5. 一、springboot项目集成大众点评cat

    一. 什么是CAT 1.cat简介 Cat是基于Java开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务 • CAT作为服务端项目基础组件,提供了java, c/c++, node, p ...

  6. springboot项目集成docker

    文章目录 一.docker常用命令 0.拉取镜像到本地仓库 1.查看所有镜像 2.创建一个新的容器并运行,返回的是容器的ID -- CONTAINER ID: 3.查看运行中的docker实例 4.查 ...

  7. Springboot项目集成Minio文件服务器(下)

    Springboot项目集成Minio文件服务器(下) 1.配置依赖 在pom文件里面配置Minio的相关依赖. <!--添加minio的依赖--><dependency>&l ...

  8. springboot项目集成log4j2打成jar包 ,引入外边的log4j2文件,运行日志无法打印

    springboot项目集成log4j2打成jar包 ,引入外边的log4j2文件,运行日志无法打印 问题描述 因为项目中已经有log4j2文件,所以打的jar中也有,在application.yml ...

  9. SpringBoot+MongoDB查询大数据字段优化

    记录一下 SpringBoot+MongoDB查询大数据字段,查询的单个字段或者总查询结果量太大 用 mongoTemplate.find(query, NewSnapshot.class, coll ...

最新文章

  1. PHP5操作MySQL数据库
  2. [UE4]网游中角色Pawn的移动位置同步以及RTS多角色同时移动的解决方案
  3. 创建存储过程批量插入数据
  4. CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑
  5. 导Excel数据到Oracle的脚本,Oracle使用TOAD实现导入导出Excel数据
  6. 私有变量访问/延后执行代码块
  7. 达尔文计算机学校,中国研制出全球神经元规模最大类脑计算机
  8. Ubantu16.04,利用vsftpd搭建ftp服务器,修改vsftpd.conf后,无法连接服务器
  9. 基于Java+Springboot+mybatis+lyaui的学科竞赛管理系统设计和实现
  10. 编程题涉及到的数学公式(持续更新……)
  11. OpenGL 驱动 与 扩展的关系
  12. 计算时间差 html,计算时间差的公式
  13. 显卡1060和1660测试对比
  14. GNU 和 UNIX 命令
  15. python 网易云音乐评论爬取3
  16. 一个屌丝程序员的青春(六四)
  17. 2018安防行业发展趋势
  18. 微信Android SDK提示com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP
  19. 完美玩机 三星I9000解锁工具实测教程
  20. 人工智能--语义网络表示法

热门文章

  1. 大专学历计算机专业可以积分,持有大专紧缺急需专业可直接申请上海居住证积分?...
  2. C --cp2 类似cat工具的小程序。
  3. win10子系统ubuntu文件夹位置_Win10 Linux子系统任何直接访问文件
  4. python 自动输入文字_pyautogui和pyperclip实现自动输入中文
  5. 卸载安装Ubuntu18.04双系统、ROS+装机
  6. Mac安装软件时提示已损坏的解决方法
  7. Java并发编程73道面试题及答案 —— 面试稳了 侵立删
  8. 每日一言 api 接口
  9. 标品与非标品的定义 标品与非标品的区别,以及标品与非标品直通车运营方案
  10. flash不同颗粒SLC、MLC、TLC、QLC擦写次数