Springboot 整合 DolphinScheduler(一):初识海豚调度

目录

一、什么是 DolphinScheduler

二、DolphinScheduler 的特性

三、DolphinScheduler 核心架构

四、单机环境部署流程

1、下载安装包

2、上传至服务器,解压缩

3、单机启动

4、登录 dolphinscheduler UI

5、配置数据库【非必需】

(1)下载 MySQL 驱动

(2)上传服务器并解压缩

(3)引入mysql连接驱动包

(4)在MySQL中创建dolphinscheduler数据库

(5)修改 dolphinscheduler 的数据源连接

(6)通过Shell 脚本来初始化数据库

五、集群环境部署流程

1、环境准备

2、上传服务器并解压缩

3、修改配置项

4、配置 MySql 数据库

5、执行安装

6、启动服务

7、启动成功后,登录UI


一、什么是 DolphinScheduler

Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。

Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。 DolphinScheduler 以 DAG(Directed Acyclic Graph,DAG,有向无环图)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。

二、DolphinScheduler 的特性

  • 可视化 DAG: 用户友好的,通过拖拽定义工作流的,运行时控制工具
  • 模块化操作: 模块化有助于轻松定制和维护。
  • 支持多种任务类型: 支持Shell、MR、Spark、SQL等10余种任务类型,支持跨语言,易于扩展
  • 丰富的工作流操作: 工作流程可以定时、暂停、恢复和停止,便于维护和控制全局和本地参数。
  • 高可靠性: 去中心化设计,确保稳定性。 原生 HA 任务队列支持,提供过载容错能力。 DolphinScheduler 能提供高度稳健的环境。
  • 高扩展性: 支持多租户和在线资源管理。支持每天10万个数据任务的稳定运行。

三、DolphinScheduler 核心架构

主要角色如下:

  • MasterServer:采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交、任务监控,并同时监听其它 MasterServer 和 WorkerServer 的健康状态。
  • WorkerServer:也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。
  • ZooKeeper服务:系统中的 MasterServer 和 WorkerServer 节点都通过 ZooKeeper 来进行集群管理和容错。
  • Alert服务:提供告警相关服务。
  • API接口层:主要负责处理前端UI层的请求。
  • UI:系统的前端页面,提供系统的各种可视化操作界面。

四、单机环境部署流程

1、下载安装包

地址:Index of /apache/dolphinscheduler/3.2.1

2、上传至服务器,解压缩

tar -zxvf apache-dolphinscheduler-3.2.1-bin.tar.gz

3、单机启动

./bin/dolphinscheduler-daemon.sh start standalone-server

4、登录 dolphinscheduler UI

 浏览器输入地址:http://{所在服务器IP}:12345/dolphinscheduler/ui

 用户名admin

 密码dolphinscheduler123

【注】无法访问可能是因为服务器端口12345未开放

① 查看 12345 端口号是否开放:firewall-cmd --query-port=12345/tcp

② 打开端口:firewall-cmd --zone=public --add-port=12345/tcp --permanent

③ 重启防火墙:firewall-cmd –reload

5、配置数据库【非必需】

Standalone server 使用 H2 数据库作为其元数据存储数据,这是为了上手简单,用户在启动服务器之前不需要启动数据库。但是如果用户想将元数据库存储在 MySQL PostgreSQL 等其他数据库中,必须更改一些配置。以下以修改成MySQL数据库为例:

(1)下载 MySQL 驱动

地址:https://downloads.mysql.com/archives/c-j/

(2)上传服务器并解压缩

(3)引入mysql连接驱动包

将 mysql-connector-j-8.2.0.jar 拷贝到 DolphinScheduler 的每个模块的 libs 目录下。

其中包括 api-server/libs 、alert-server/libs 、master-server/libs 、worker-server/libs

(4)在MySQL中创建dolphinscheduler数据库

(5)修改 dolphinscheduler 的数据源连接

修改文件:./bin/env/dolphinscheduler_env.sh

(6)通过Shell 脚本来初始化数据库

脚本位置:apache-dolphinscheduler-3.2.1-bin/tools/bin/upgrade-schema.sh

五、集群环境部署流程

DolphinScheduler 的集群需要依赖 Zookeeper,目前已有一套 CDH 的组网环境,其中 zookeeper 的版本为 3.4.5。DolphinScheduler 3.2.1 版本使用的是 Zookeeper 3.8.0 版本。版本不一致导致我在启动 DolphinScheduler时,一直报如下错误:

尝试将 CDH 中 zookeeper 的版本升至 3.8.3后,仍未解决问题,因此将 DolphinScheduler 版本降至 2.0.6。

1、环境准备

(1) 已安装了 Zookeeper 集群环境,CDH 组网环境如下:

主机名

IP

服务

hadoop103

192.168.1.247

JDK、zookeeper

hadoop104

192.168.1.248

JDK、zookeeper

hadoop105

192.168.1.249

JDK、zookeeper、MySQL

(2) DolphinScheduler 要搭建的集群环境:

【注】三台服务器之间能互相免密登录,涉及文件拷贝等操作。

角色

服务器IP

master

192.168.1.247

master

192.168.1.248

worker

192.168.1.249

2、上传服务器并解压缩

过程略

3、修改配置项

① apache-dolphinscheduler-2.0.6-bin/conf/env/dolphinscheduler_env.sh

② apache-dolphinscheduler-2.0.6-bin/conf/config/install_config.conf

4、配置 MySql 数据库

① 手动创建数据库dolphinscheduler

② 将MySQL驱动包放入apache-dolphinscheduler-2.0.6-bin/lib/下

③ 执行脚本初始化数据库

脚本位置:apache-dolphinscheduler-2.0.6-bin/script/create-dolphinscheduler.sh

5、执行安装

脚本位置:apache-dolphinscheduler-2.0.6-bin/install.sh 

只在 247 服务器上执行脚本即可,执行后,会在三台主从机上的 home/dolphinscheduler 下产生相关文件:

6、启动服务

脚本位置:/apache-dolphinscheduler-2.0.6-bin/bin/start-all.sh

另外:

查看状态:status-all.sh

停止服务:stop-all.sh

7、启动成功后,登录UI

 


  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度系统,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任务连接起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill任务等操作。目前已经有像IBM、腾讯、美团、360等400多家公司生产上使用。 调度系统现在市面上的调度系统那么多,比如老牌的Airflow, Oozie,Kettle,xxl-job ,Spring Batch等等, 为什么要选DolphinSchedulerDolphinScheduler 的定位是大数据工作流调度。通过把大数据和工作流做了重点标注. 从而可以知道DolphinScheduler的定位是针对于大数据体系。DolphinScheduler 发展很快 很多公司调度都切换到了DolphinScheduler,掌握DolphinScheduler调度使用势在必行,抓住新技术机遇,为跳巢涨薪做好准备。 优秀的框架都是有大师级别的人写出来的,包含了很多设计思想和技术。DolphinScheduler也不例外,它是一个非常优秀的框架,用到很多技术和设计思想,本课程会带大家深入DolphinScheduler框架源码,包括设计的思想和技术都会讲解,DolphinScheduler源码很多,会按照模块进行讲解,学习完课程后,不仅可以熟悉DolphinScheduler使用,而且可以掌握很多优秀的设计思想和技术,给自己的技术带来很大提升,为跳巢涨薪做好准备。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值