零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上)

目录

1 功能设想

2 环境配置及启动运行

开发工具

注意事项

启动运行

3 部署配置Apache DolphinScheduler

4 Python API调度开发及页面编码

5 任务节点以及工作流开发


1 功能设想

  • 背景:

最近有个业务场景需要设计但是迟迟未开工,因为懒!作为一个野生独立开发者,缺少的不是想法,而是强有力的执行力.恰好今天无聊到了C站的活动列表逛逛看到《拥抱开源-Apache DolphinScheduler》这个活动,Apache DolphinScheduler?什么东西,貌似没有用过。官网了解下:

Apache DolphinScheduler | 首页

  • 功能构想:

多用户可以同时调用一个Python API、SQL资源,且有不同的有效期。可以后台随意修改配置。可以选择不同API设计执行顺序,即可流程化设计。用户可以创建自己的Python、SQL任务并配置设置流程化,执行的数据果展示。


 零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上)_第1张图片

看了下Apache DolphinScheduler架构设计,整合我意,决定弄个Demo尝试下。

2 环境配置及启动运行

开发工具

零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上)_第2张图片

参考官方开发文档:

development-environment-setup

  • git源码下载并用IDEA打开
git clone 
  • mysql创建数据库
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'root'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'root'@'localhost' IDENTIFIED BY 'dolphinscheduler';
flush privileges;
  • 前端开发配置
##前端安装
npm install
##前端运行
npm run start

零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上)_第3张图片

  • 后端配置
##修改dao 模块 resource 目录下 datasource.properties数据库配置
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=root

##dao更新刷新 dao 模块
##运行 org.apache.dolphinscheduler.dao.upgrade.shell.CreateDolphinScheduler 的 main 方法

##项目打包
mvn -U clean package -Prelease -Dmaven.test.skip=true #mvn打包

#修改 service 模块 zookeeper.properties 中 quorum 配置 zookeeper.quorum=localhost:2181

配置运行完成后,数据库和后端代码都配置好了:

零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上)_第4张图片

数据库也自动生成了:

零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上)_第5张图片

参考官网即可

注意事项

1-main 函数无法运行,Open-Model-Setting配置为Source即可

2-依赖包没有,maven重新reimport

3-maven下载依赖包很慢,建议修改为国内的镜像

4-maven执行报错jdk问题,maven/bin/mvn.cmd文件加入JDK路径,例如我的是OpenJDK

set JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\

5-如果数据库链接报错,那就是没有设置可远程链接数据库,mysql默认是没有开启的。开启后如果mysql登录报错,参考https://blog.csdn.net/tiankongbubian/article/details/77119751

6-mvn打包,报错JDK问题,重新安装jdk即可

7-npm install node-sass 重新安装,前端css问题

启动运行

##1启动 zookeeper
./bin/zkServer.sh start

##2启动 MasterServer,执行 org.apache.dolphinscheduler.server.master.MasterServer 的 main 方法
## 需要设置 VM Options:

-Dlogging.config=classpath:logback-master.xml -Ddruid.mysql.usePingMethod=false

##3- 启动WorkerServer,执行org.apache.dolphinscheduler.server.worker.WorkerServer的 main方法
## 需要设置 VM Options:
-Dlogging.config=classpath:logback-worker.xml -Ddruid.mysql.usePingMethod=false

##4-启动 ApiApplicationServer,执行 org.apache.dolphinscheduler.api.ApiApplicationServer 的 main 方法
## 需要设置 VM Options:
-Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=api

##5 启动前端 ui 模块
cd dolphinscheduler-ui
npm run start

##6 如果启动其它模块,那么去查询script/dolphinscheduler-daemon.sh文件
## 设置相应的 VM Options

配置VM Options

零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上)_第6张图片

配置好的3个main运行即可

零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上)_第7张图片

夜色已深,就此为止。剩下开发好的部分后面再整理成文章记录参考。更多交流,加wx:freo-studio ,或者freofreo

下部:分实现开发功能:

3 部署配置Apache DolphinScheduler

4 Python API调度开发及页面编码

5 任务节点以及工作流开发

你可能感兴趣的:(零基础Apache DolphinScheduler 实现分布式PythonAPI租赁使用(上))