In production, Apache DolphinScheduler 3.1.9 is widely chosen by enterprises for its stability and mature features. As usage deepens, many want to extend and customize it further. Before diving into secondary development, a complete local development environment setup is essential. This guide uses real-world scenarios to detail the configuration process for DolphinScheduler 3.1.9, aiming to be a practical and reliable reference for users with customization needs.
Prerequisites
Before setting up the DolphinScheduler dev environment, please ensure you have installed:
- Git
- JDK v1.8.x (Note: DolphinScheduler 3.1.9 requires JDK 1.8.x, no higher)
- Maven v3.5+
- Node v16.13+ (For DolphinScheduler versions earlier than 3.0, install Node v12.20+)
- Pnpm v6.x (Note: DolphinScheduler 3.1.9 requires Pnpm 6.x, no higher)
Open pom.xml
Open the pom.xml file using IntelliJ IDEA as a project.
In the .idea directory, locate workspace.xml, and under PropertiesComponent, add the line:
"dynamic.classpath": "true"
Download & Extract ZooKeeper
In the ZooKeeper folder, create a data directory.
Copy zoo_sample.cfg from conf/ and rename it to zoo.cfg. Change the dataDir path to point to the newly created data directory.
Start ZooKeeper by running:
./bin/zkServer.cmd
Modify DB Dependency Configuration
Open the pom.xml in the dolphinscheduler-bom module.
If you're using PostgreSQL, no changes are needed. For MySQL, change the dependency scope from test to compile, then refresh Maven in IntelliJ.
Create & Initialize the Database
Install MySQL 8.0.16+ (recommended).
After creating the database, initialize it using the SQL script files as shown in the screenshot.
Configure MySQL Settings
In the following modules' application.yaml and logback-spring.xml, change the database settings from PostgreSQL to MySQL and adjust log levels:
dolphinscheduler-alertdolphinscheduler-apidolphinscheduler-masterdolphinscheduler-worker
For example, in dolphinscheduler-master:
Also update logging in logback-spring.xml:
Adjust Frontend Module Settings
Open dolphinscheduler-ui/package.json and remove all ^ from version numbers to avoid conflicts:
Start Backend & Frontend Services
You need to start these three backend services:
-
MasterServer: Run
org.apache.dolphinscheduler.server.master.MasterServer::mainin IntelliJ with VM options:
-Dlogging.config=classpath:logback-spring.xml
-Ddruid.mysql.usePingMethod=false
-Dspring.profiles.active=mysql
-
WorkerServer: Run
org.apache.dolphinscheduler.server.worker.WorkerServer::mainwith VM options:
-Dlogging.config=classpath:logback-spring.xml
-Ddruid.mysql.usePingMethod=false
-Dspring.profiles.active=mysql
-
ApiApplicationServer: Run
org.apache.dolphinscheduler.api.ApiApplicationServer::mainwith VM options:
-Dlogging.config=classpath:logback-spring.xml
-Dspring.profiles.active=api,mysql
Open your run configurations, add the VM options, and hit Run.
Start Frontend
In the dolphinscheduler-ui directory, run:
pnpm install
pnpm dev
Once started, the terminal will display the port. Open your browser to access the web UI.
🎉 Once done, your DolphinScheduler 3.1.9 environment is fully up and ready for customization and development!










Top comments (0)