暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DolphinScheduler开发者必看!IDEA本地调试实战指南

海豚调度 2025-04-23
148

点击蓝字,关注我们

本文整系统梳理了在IDEA中搭建Apache DolphinScheduler本地调试环境的通用流程,包括环境准备、远吗配置、服务启动等核心步骤,供大家参考。


1

基础组件准备


1、JDK : v1.8.x (当前暂不支持 jdk 11)
2、Maven : v3.5+
3、v18.19.1+,安装pnpm
// 全局安装
npm install pnpm -g
//查看源
pnpm config get registry
//切换淘宝源
pnpm config set registry https://registry.npmmirror.com/

4、Zookeeper : 3.6.3(大数据平台用的就是这个zookeeper版本,ds复用大数据平台的zookeeper)。使用最新DS,里面使用的是 curator 5.3.0
Curator 5.0 支持zookeeper3.6.X,不再支持 zookeeper3.4.X
Curator 4.X 支持zookeeper3.5.X,软兼容3.4.X
Curator 2.X 支持zookeeper3.4.X
5、mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.44    |
+-----------+
1 row in set (0.00 sec)


2

初始化

2.1、初始化数据库

source Users/xxx/IdeaProjects/dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql;

2.2、配置common.properties重点配置

# 本地目录,存放封装的脚步
data.basedir.path=/tmp/dolphinscheduler

# 选择存储介质,比如说HDFS;其中资源中心的资源以及租户目录
resource.storage.type=HDFS

# 资源中心的根目录
resource.storage.upload.base.path=/dolphinscheduler

# HDFS操作使用哪个用户,一般使用hdfs用户
resource.hdfs.root.user=hdfs

# hdfs的defaultFS,如果是ha模式,core-site.xml和hdfs-site.xml放入resources下,这里填写hdfs ha路径
resource.hdfs.fs.defaultFS=hdfs://10.253.26.85:8020

# 是否为开发模式,不管生产和测试情况,我建议开启。好定位问题。不过需要定时删除,不然会有很多jar包占用磁盘空间
development.state=true

# yarn端口
resource.manager.httpaddress.port=8088
# 如果yarn是HA,这里配置yarn的多个ip地址,用逗号分隔。非HA模式,不动
yarn.resourcemanager.ha.rm.ids=
# 如果是单个yarn,ds1直接修改为yarn的ip地址。如果是HA模式,这里不动
yarn.application.status.address=http://ds1:%s/ws/v1/cluster/apps/%s

2.3、配置各个服务的application.yaml

注意: 主要配置 zookeeper连接地址和mysql地址即可,不赘述

2.4、配置各个服务的logback-spring.xml

设置 <appender-ref ref="STDOUT"/>
 控制台输出。


3

组件启动

1、MasterServer:在 Intellij IDEA 中执行 org.apache.dolphinscheduler.server.master.MasterServer 中的 main 方法,并配置 VM Options -Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql
2、WorkerServer:在 Intellij IDEA 中执行 org.apache.dolphinscheduler.server.worker.WorkerServer 中的 main 方法,并配置 VM Options -Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql
3、ApiApplicationServer:在 Intellij IDEA 中执行 org.apache.dolphinscheduler.api.ApiApplicationServer 中的 main 方法,并配置 VM Options -Dlogging.config=classpath:logback-spring.xml -Dspring.profiles.active=api,mysql。启动完成可以浏览 Open API 文档,地址为 http://localhost:12345/dolphinscheduler/swagger-ui/index.html
4、前端
cd dolphinscheduler-ui
pnpm install
pnpm run dev

报错入下 :
qiaozhanwei@ dolphinscheduler-ui % pnpm run dev
> dolphinscheduler-ui@0.0.0 dev Users/qiaozhanwei/IdeaProjects/dolphinscheduler/dolphinscheduler-ui
> vite

error when starting dev server:
Error: listen EADDRNOTAVAIL: address not available 192.168.1.4:5173
    at Server.setupListenHandle [as _listen2] (node:net:1313:21)
    at listenInCluster (node:net:1378:12)
    at GetAddrInfoReqWrap.doListen [as callback] (node:net:1516:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:73:8)

代码修改 :
mac 在终端找ip地址
输入命令行:ipconfig getifaddr en0
找到ip地址后进入项目中找到vite.config.ts文件, 修改如下:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  base: '/',
  server: {
      host: '192.168.9.178',
      port: 5173,
      https: false,
      open: true,
        hmr: {
              protocol: 'ws',
              host: '192.168.9.178'
          },
  }
})

登录地址
http://10.56.59.243:5173/login,输入 admin/dolphinscheduler123 即可完成登录


4

2.X版本组件启动


api server
-Dlogging.config=classpath:logback-api.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active="default,api,mysql"

master
-Dlogging.config=classpath:logback-master.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active="default,master,mysql"

worker
-Dlogging.config=classpath:logback-wo

转载自Journey
原文链接:https://segmentfault.com/a/1190000044975672





用户案例



网易邮箱 每日互动 惠生工程  作业帮 
博世智驾 蔚来汽车 长城汽车集度长安汽车
思科网讯食行生鲜联通医疗联想
新网银行唯品富邦消费金融 
自如有赞伊利当贝大数据
珍岛集团传智教育Bigo
YY直播  三合一太美医疗
Cisco Webex兴业证券




迁移实战



Azkaban   Ooize(当贝迁移案例)
Airflow (有赞迁移案例)
Air2phin(迁移工具)
Airflow迁移实践



发版消息




Apache DolphinScheduler 3.2.2版本正式发布!
Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级
Apache DolphinScheduler 3.3.0 Alpha发布,功能增强与性能优化大升级!




加入社区



关注社区的方式有很多:

  • GitHub: https://github.com/apache/dolphinscheduler
  • 官网:https://dolphinscheduler.apache.org/en-us
  • 订阅开发者邮件:dev@dolphinscheduler@apache.org
  • X.com:@DolphinSchedule
  • YouTube:https://www.youtube.com/@apachedolphinscheduler
  • Slack:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1cmrxsio1-nJHxRJa44jfkrNL_Nsy9Qg

同样地,参与Apache DolphinScheduler 有非常多的参与贡献的方式,主要分为代码方式和非代码方式两种。

📂非代码方式包括:

完善文档、翻译文档;翻译技术性、实践性文章;投稿实践性、原理性文章;成为布道师;社区管理、答疑;会议分享;测试反馈;用户反馈等。

👩‍💻代码方式包括:

查找Bug;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3A%22first+time+contributor%22

优先级问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3Apriority%3Ahigh

如何参与贡献链接https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97_menu/%E5%A6%82%E4%BD%95%E5%8F%82%E4%B8%8E_menu

如果你❤️小海豚,就来为我点亮Star吧!

https://github.com/apache/dolphinscheduler


你的好友秀秀子拍了拍你

并请你帮她点一下“分享”

文章转载自海豚调度,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论