栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

DolphinScheduler技术分析(一)

DolphinScheduler技术分析(一)

2021SC@SDUSC

一.DolphinScheduler系统架构图:

 

二.模块划分:

1.dolphinscheduler-ui 前端页面模块
2.dolphinscheduler-server 核心模块。包括master/worker等功能
3.dolphinscheduler-common 公共模块。公共方法或类
4.dolphinscheduler-api Restful接口。前后端交互层,与master/worker交互等功能
5.dolphinscheduler-dao 数据操作层。实体定义、数据存储
6.dolphinscheduler-alert 预警模块。与预警相关的方法、功能
7.dolphinscheduler-dist 与编译、分发相关的模块。没有具体逻辑功能
8.dolphinscheduler-microbench 基准测试
10.dolphinscheduler-remote
11.dolphinscheduler-service 核心模块。

这一篇先来分析一下两个类:

1.ZookeeperOperator类

是一个zookeeper数据节点操作类,功能有创建节点,删除节点,获取节点等。

Zookeeper的四种节点创建模式:PERSISTENT:持久化,PERSISTENT_SEQUENTIAL:持久化并且带序列号,EPHEMERAL:临时,EPHEMERAL_SEQUENTIAL:临时并且带序列号。

这是一段可以递归的创建持久节点的代码,其中第5.6行的代码可以创建持久节点,并对该节点进行初始化 。

这段代码可以递归的创建临时节点 ,第4行中这个creatingParentContainersIfNeeded()接口非常搞笑,因为一般情况在创建一个子节点时必须判断他是否存在父节点,如果不存在则直接创建会抛出NoNodeException,使用creatingParentContainersIfNeeded()之后能够自动递归创建所有所需的父节点。

2.ZookeeperCachedOperator类

这是一个缓存类,他继承了上面的ZookeeperOperator类,并且加入了监听节点的cache方法。

Zookeeper原生支持通过注册Watcher来进行事件监听,但是开发者需要反复注册(Watcher只能单次注册单次使用)。Cache是Curator中对事件监听的包装,可以看作是对事件监听的本地缓存视图,能够自动为开发者处理反复注册监听。Curator提供了三种Watcher(Cache)来监听结点的变化:1.Path Cache2.Node Cache 3.Tree Cache

Tree Cache可以监控整个树上的所有节点,类似于PathCache和NodeCache的组合,主要涉及到下面四个类:TreeCache - Tree Cache实现类,TreeCacheListener - 监听器类,TreeCacheEvent - 触发的事件类,ChildData - 节点数据。

DolphinScheduler主要是使用Tree Cache缓存,主要代码如下:

 参考博客:工作流任务调度系统:Apache DolphinScheduler

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号