工作流任务调度系统--DolphinSchedule-1.3.6 window 安装配置

Posted 菜鸟小杰子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工作流任务调度系统--DolphinSchedule-1.3.6 window 安装配置相关的知识,希望对你有一定的参考价值。

DolphinSchedule 简介

Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度平台。解决数据研发ETL 错综复杂的依赖关系,不能直观监控任务健康状态等问题。DolphinScheduler以DAG流式的方式将Task组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及Kill任务等操作

官网:https://dolphinscheduler.apache.org/zh-cn/index.html

DolphinSchedule 几种特点

简单易用
DAG监控界面,所有流程定义都是可视化,通过拖拽任务定制DAG,通过API方式与第三方系统对接, 一键部署

高可靠性
去中心化的多Master和多Worker, 自身支持HA功能, 采用任务队列来避免过载,不会造成机器卡死

丰富的使用场景
支持暂停恢复操作.支持多租户,更好的应对大数据的使用场景. 支持更多的任务类型,如 spark, hive, mr, python, sub_process, shell

高扩展性
支持自定义任务类型,调度器使用分布式调度,调度能力随集群线性增长,Master和Worker支持动态上下线

安装所需环境

mysql (5.5+) : 必装
JDK (1.8+) : 必装
ZooKeeper(3.4.6+) :必装
Hadoop(2.6+) 选装, 如果需要使用到资源上传功能,MapReduce任务提交则需要配置Hadoop(上传的资源文件目前保存在Hdfs上)
Hive(1.2.1) : 选装,hive任务提交需要安装
Spark(1.x,2.x) : 选装,Spark任务提交需要安装

一、安装 zookeeper(window)

  1. 链接:apache-zookeeper-3.6.3-bin.tar.gz 下载 提取码:0213

  2. 在解压后的zookeeper中创建data和log文件夹以便收集数据和日志

  3. 将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg,修改其中数据和日志的配置,如:
    并添加如下配置

  4. 在bin中先运行 zkServer.cmd,然后运行zkCli.cmd 查看zk运行状态,可以查看zk节点信息即代表安装成功。(最后启动的时候记得启动 zkServer.sh

    zkServer.cmd
    zkCli.cmd
    最后不要忘了点击 zkServer.sh 不然启动项目后会报连接zookeeper报错

二、搭建后端环境

  1. 下载dolphinscheduler源码
	官网 :https://dolphinscheduler.apache.org/zh-cn/index.html

	地址 :https://github.com/apache/dolphinscheduler.git

	这里选用 1.3.6-release 分支。
	
	导入idea中
  1. 搭建数据库(项目中默认是pgsql,如果选择pgsql择无需以下数据库配置,咱们这里已mysql为列)
    —>1:本地mysql数据库创建 这里为:dolphinscheduler
    —>2:修改 dolphinscheduler-dao 模块的 datasource.properties(注释掉pgsql,放开mysql并修改成自己的mysql数据库)

    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8
    spring.datasource.username=root
    spring.datasource.password=123456 
    

    —>3:修改根项目中 pom.xml,将 mysql-connector-java 依赖的 text 修改为 compile

    —>4:刷新 dao 模块,运行org.apache.dolphinscheduler.dao.upgrade.shell.CreateDolphinScheduler 的 main 方法,自动插入项目所需的表和数据
    备注:控制台会有执行语句打印,执行完成去本地数据库查看表是否生成。

  2. 修改zookeeper连接(一般是不需要修改的,不过还是需要查看一下配置是否对)

    —>1:修改 dolphinscheduler-service 模块的 zookeeper.properties
    4.修改日志控制层输出,在logback-worker.xml、logback-master.xml、logback-api.xml中添加控制台输出

     <appender-ref ref="STDOUT"/> 
    

    —>1:ogback-worker.xml、logback-master.xml 修改在dolphinscheduler-server
    —>2:logback-api.xml 在 dolphinscheduler-api 中

  3. 设置MasterServer,WorkerServer以及ApiApplicationServer文件运行的Applicatio
    —>1:MasterServer,WorkerServer以及ApiApplicationServer文件位置

    ApiApplicationServer 位置
    —>2:配置三个文件为启动项
    1:复制文件路径

    2:添加启动项

    3:添加 ApiApplicationServer

    4:添加 MasterServer,WorkerServer


    序号4 设置 VM Options:

    MaseterServer:
    -Dlogging.config=classpath:logback-master.xml -Ddruid.mysql.usePingMethod=false
    WorkerServer:
    -Dlogging.config=classpath:logback-worker.xml -Ddruid.mysql.usePingMethod=false
    ApiApplicationServer:
    -Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=api
    
    
  4. 修改 api中的application-api.properties改成application.properties

三、运行后端环境

  1. 顺序启动 MasterServer–>WorkerServer–>ApiApplicationServer
  2. 如果需要用到日志功能,执行 org.apache.dolphinscheduler.server.log.LoggerServer 的main 方法。
  3. 后端swagger地址 :http://localhost:12345/dolphinscheduler/doc.html?language=zh_CN&lang=cn

四、搭建前端环境

  1. 安装node.js
  2. 查看链接安装

五、启动前端环境

  1. 进去本地 dolphinscheduler-ui,运行 (也可使用前端工具运行)

  2. 输入命令

    	npm install
    	npm run start
    

    显示如下启动成功

  3. 浏览器访问:http://localhost:8888

  4. 用户名密码

    	用户:admin
    	密码:dolphinscheduler123
    

    访问成功:

六、DolphinSchedule 简单上手

快速上手
喜欢看视频的伙伴可以参见手把手教你如何《快速上手 Apache DolphinScheduler 教程》

创建队列

创建租户

创建普通用户

创建告警组

创建Worker分组

创建环境

创建token令牌

使用普通用户登录

点击右上角用户名“退出”,重新使用普通用户登录。

项目管理->创建项目->点击项目名称

点击工作流定义->创建工作流定义->上线工作流定义

运行工作流定义->点击工作流实例->点击工作流实例名称->双击任务节点->查看任务执行日志

七、安装及运行过程中会遇到的问题

  1. 执行时zookeeper启动报错

    2022-03-22 00:30:54.006  INFO 28800 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn          : Socket error occurred: localhost/0:0:0:0:0:0:0:1:2181: Connection refused: no further information
    2022-03-22 00:30:55.115  INFO 28800 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn          : Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
    

    解决方法:执行bin/zkServer.sh start,启动zookeeper.

  2. 可以启动DolphinScheduler的,但是12345端口无法访问。

    解决方法:

    dolphinscheduler-api这个歌module的resource文件下application-api.properties的名称问题,导致springboot扫描不到app的port配置,所以需要把application-api.properties改成application.properties。

如有问题,欢迎各位朋友下方留言讨论

以上是关于工作流任务调度系统--DolphinSchedule-1.3.6 window 安装配置的主要内容,如果未能解决你的问题,请参考以下文章

⼯作流调度系统——Azkaban

大数据开发:Azkaban和Oozie调度系统对比

分布式任务调度系统Akkaflow介绍

开源工作流任务调度系统:Apache DolphinScheduler

开源工作流任务调度系统:Apache DolphinScheduler

工作流调度器azkaban的安装和使用