二次开发必看!DolphinScheduler 3.1.9 开发环境搭建指南
<p>在生产实践中,Apache DolphinScheduler 3.1.9 版本因其稳定性和成熟的特性,成为众多企业用户的首选版本。随着使用深入,不少用户希望在此基础上进行二次开发,以更好地满足自身业务需求。然而,开展二次开发前,搭建完善的本地开发环境至关重要。本文结合真实案例,详细介绍 DolphinScheduler 3.1.9 的二次开发环境配置流程,希望为有定制化开发需求的用户提供实用、可靠的参考。</p><h2 id="准备工作">准备工作</h2>
<p>在搭建 DolphinScheduler 开发环境之前请确保你已经安装以下软件:</p>
<ul>
<li>Git</li>
<li>JDK: v1.8.x (注意DolphinScheduler3.1.9只能安装jdk v1.8.x不能升级)</li>
<li>Maven: v3.5+</li>
<li>Node: v16.13+ (dolphinScheduler 版本低于 3.0, 请安装 node v12.20+)</li>
<li>Pnpm: v6.x(注意DolphinScheduler3.1.9只能安装Pnpm v6.x不能升级)</li>
</ul>
<h2 id="打开pomxml文件">打开pom.xml文件</h2>
<p>使用idea打开pom.xml文件,作为项目打开。<br>
在.idea目录下找到<code>workspace.xml</code>,在<code>PropertiesComponent</code>属性下增加下面这一行。<br>
<code>“dynamic.classpath”: “true“</code><br>
<img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530635582976.jpg" class="lazyload"></p>
<h2 id="下载zookeeper并解压">下载ZooKeeper并解压</h2>
<p>在 ZooKeeper 的目录下新建 Data文件夹。</p>
<p>将 conf 目录下的 <code>zoo_sample.cfg</code> 文件复制一份,重命名为 <code>zoo.cfg</code>,修改其中数据的配置,如下:</p>
<p>把<code>dataDir</code>路径设置为刚刚新建的Data文件夹目录。</p>
<p><img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530636001000.jpg" class="lazyload"></p>
<p>然后启动服务,运行 <code>./bin/zkServer.cmd</code>。</p>
<h2 id="修改数据库配置">修改数据库配置</h2>
<p>打开<code>dolphinscheduler-bom</code>模块的<code>pom</code>文件修改数据库配置。</p>
<p>使用postgresql不用修改,使用mysql则需要修改。将MySQL的依赖中的<code>test</code>改为<code>compile</code>右上角的<code>Maven</code>要记得点击进行更新。</p>
<p><img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530636397428.jpg" class="lazyload"></p>
<h2 id="创建数据库并初始化">创建数据库并初始化</h2>
<p>安装mysql,推荐使用8.0.16+。</p>
<p>创建完数据库后进行初始化。如下图所示,将文件中的sql语句复制出来在数据库上执行初始化。<br>
<img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530636730443.jpg" class="lazyload"></p>
<h2 id="配置mysql">配置MySQL</h2>
<p>配置<code>dolphinscheduler-alert</code>、<code>dolphinscheduler-api</code>、<code>dolphinscheduler-master</code>、<code>dolphinscheduler-worker</code>的<code>application.yaml</code>文件和<code>logback-spring.xml</code>文件,把<code>postgresql</code>改为mysql配置并修改日志级别。</p>
<p>例如<code>dolphinscheduler-master</code>配置mysql如下所示:<br>
<img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530637401775.jpg" class="lazyload"></p>
<p>例如<code>dolphinscheduler-master</code>修改日志级别,以及在<code>logback-spring.xml</code>文件中修改如下所示:<br>
<img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530637465885.jpg" class="lazyload"></p>
<h2 id="修改模块配置">修改模块配置</h2>
<p>修改<code>dolphinscheduler-ui</code>模块的 <code>package.json</code></p>
<p>为了避免版本冲突,打开<code>dolphinscheduler-ui</code>模块的<code>package.json</code>文件,去除所有<code>^</code>符号。</p>
<p><img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530638331036.jpg" class="lazyload"></p>
<h2 id="启动后端服务和前端服务">启动后端服务和前端服务</h2>
<p>我们需要启动三个服务,包括<code>MasterServer</code>,<code>WorkerServer</code>,<code>ApiApplicationServer</code>。</p>
<ul>
<li><strong>MasterServer</strong>:在<code>Intellij IDEA</code>中执行 <code>org.apache.dolphinscheduler.server.master.MasterServer</code>中的<code>main</code>方法,并配置<code>VM Options -Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql</code></li>
<li><strong>WorkerServer</strong>:在<code>Intellij IDEA</code>中执行 <code>org.apache.dolphinscheduler.server.worker.WorkerServer</code>中的<code>mai</code>方法,并配置<code>VM Options -Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql</code></li>
<li><strong>ApiApplicationServer</strong>:在<code>Intellij IDEA</code>中执行 <code>org.apache.dolphinscheduler.api.ApiApplicationServer</code>中的<code>main</code>方法,并配置<code>VM Options -Dlogging.config=classpath:logback-spring.xml -Dspring.profiles.active=api,mysql</code>。</li>
</ul>
<p>打开运行配置,打开添加虚拟机选项然后输入上述命令并确定,即可完成配置。<br>
<img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530639481434.jpg" class="lazyload"></p>
<p>最后在<code>dolphinscheduler-ui</code>目录下运行如下命令,安装前端依赖并运行前端组件:<br>
<img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530639917835.jpg" class="lazyload"></p>
<p>运行起来后就会看见端口,浏览器打开即可看到网页。<br>
<img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530639972069.jpg" class="lazyload"></p>
<p><img alt="" loading="lazy" src="https://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/2025/07/21/17530640013427.jpg" class="lazyload"></p>
<p>原文链接:https://blog.csdn.net/qq_42838399/article/details/149167971</p><br><br>
来源:https://www.cnblogs.com/DolphinScheduler/p/18998870
頁:
[1]