![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DS
文章平均质量分 81
游语
把生活过成段子,把代码写成诗
展开
-
Apache DolphinScheduler征稿-工作线程满载引起的生产环境血案
注:【本文正在参与“拥开源 — Apache DolphinScheduler 有奖征稿活动”】原创 2021-06-20 20:37:12 · 676 阅读 · 1 评论 -
一文读懂idea如何快速启动DolphinScheduler,本地debug,秒查线上问题(Linux/MacOS)
摘要:接触DS时间也不短了,遇到的问题千奇百怪,啥样的都有,很多问题自己解决,也有很多问题通过官方渠道解决了。但是我们在排查的过程中,光看日志,看源码解决问题实在是过于辛酸。一般我们也会通过启用远程debug的方式去查问题,但是有时候又担心影响线上。所以我们可以选择搭建一套本地DS环境,快速复现并debug定位解决问题,这样对我们理解源码也非常有帮助。前置条件5.7或以上Mysql数据源,并初始化DS数据库JDK (1.8+) : 本机必装,请安装好后在/etc/profile下配置 JAVA_H原创 2021-04-20 08:49:35 · 2371 阅读 · 0 评论 -
DolphinScheduler一键安装向导模式部署脚本实现方案
当前版本基于1.2.0实现,DS其他版本也可以使用相同思路完成概述DS安装过程中,需要的DS配置非常多,总结归类一共有六大部分。第一部分是零散的配置部分,包括DS安装路径、zk地址、部署用户等信息;第二部分主要是数据源参数配置;第三部分主要是邮件参数配置;第四部分是文件系统和yarn配置;第五部分是DS服务期部署机器配置;第六部分是DS服务环境变量配置。由于DS每个配置部分又有很多,对于部署人员来说很容易配置操作失误,不是很友好,故准备使用shell脚本方式实现向导模式。思路:DS的配置文件信息主要原创 2021-03-15 16:30:52 · 848 阅读 · 1 评论 -
DolphinScheduler升级部署简化思路及脚本实现 (1.2.1版本 其他版本需要适应性修改)
抛出问题为啥不用jenkins部署?ds可以用jenkins部署吗?那肯定是可以的,那我们为啥不用jenkins部署呢?• 消耗jenkins机器性能。ds依赖包比较多,打包的时候会将所有的包打进tar.gz文件,而我们实际开发中,基本不需要替换除了dolphinscheduler相关包之外的其他包,每次重新打包非常消耗jenkins机器性能;• DS服务器和jenkins服务器存在连通性问题。DS服务器和jenkins服务器不能都做免密,服务器密码又不好写在shell脚本中,存在安全性问题;于是原创 2021-03-02 18:00:15 · 784 阅读 · 0 评论 -
DolphinScheduler1.3.4流程定义json详细说明
DS调度是一个分布式易扩展的可视化DAG工作流任务调度系统,它通过工作流将task关联在一起,形成一个有向无环的DAG图,在工作流中流程定义内容显得非常重要。当前版本(1.3.4)DS采用了一个比较笨重的方式存储流程定义内容数据,DS直接将流程定义内容以json的形式存储在t_ds_process_definition表中,存储字段是process_definition_json。(官方已有拆解计划见issue#4417)。由于存储形式是一个比较复杂的json,单独拿到process_definition_原创 2021-02-27 17:59:56 · 1798 阅读 · 1 评论 -
DolphinScheduler周期依赖分析及自依赖设计思路
摘要:DolphinScheduler已经支持了周期依赖,也就是当前任务可以依赖任何项目内流程的指定时间周期的指定任务结果,从某种意义上来讲也实现了自依赖。但是如果新建一个任务,这个时候任务自身还没有加入到流程中,那么就不能依赖自己了,只有新建好之后再次编辑才能依赖自己,如果我们不想要每次新建之后再次编辑,那咋办?在完善自依赖之前先简单介绍一下周期依赖的实现:周期依赖名词解释依赖周期被依赖任务节点任务实例执行过的时间段依赖关系依赖节点之间的依赖关系,可以是与/或依赖关系组一个依赖关系组中原创 2021-02-05 17:25:46 · 4983 阅读 · 5 评论 -
DolphinScheduler1.3.4 master-server分配任务的三种调度策略算法实现与分析
master-server分配任务的三种调度策略算法实现与分析简介随机算法原理代码实现:轮询算法原理代码实现机器资源权重算法原理分析简介DolphinScheduler1.3.4集群环境默认有三种调度策略算法分配任务到同一work组的不同机器上,分别是随机、轮询、机器资源权重算法。master-server在获取到任务之后会去zk上获取到当前任务所属工作组的所有机器信息列表,然后根据调度策略算法获取到一台机器,通过Netty给该机器发送任务,该机器的work服务就回去执行具体的任务。随机算法原理D原创 2021-01-26 16:05:49 · 1252 阅读 · 0 评论 -
dolphinscheduler1.3.4版本开启Netty日志,解决调度流程实例在运行中问题
问题描述我们使用DS1.3.4新版本的时候,执行调度,调度一直在运行中,api-server日志正常,master-server没有报错,worker-server也没有报错,流程实例在运行中,任务实例处于已提交状态,然后不动了,卡死在这里了。问题定位流程实例在执行中,说明master-server改变了流程实例状态,排查到master-server日志中没有Netty发送部分,于是找到一下源码:将任务添加到备用队列private void addTaskToStandByList(TaskIns原创 2021-01-25 15:09:33 · 1251 阅读 · 0 评论