Implementation:Apache Dolphinscheduler Plugin Installation Script
| Knowledge Sources | |
|---|---|
| Domains | Operations, Plugin_Management |
| Last Updated | 2026-02-10 00:00 GMT |
Overview
Concrete shell script that downloads DolphinScheduler plugin artifacts from Maven repositories based on a declarative configuration file.
Description
The install-plugins.sh script enables modular plugin installation for DolphinScheduler. It reads a configuration file at conf/plugins_config, which uses a line-based format: lines starting with -- define plugin subdirectory names, and subsequent lines specify Maven artifact IDs. For each artifact, the script invokes the Maven wrapper (mvnw dependency:get) to download the shaded JAR from the org.apache.dolphinscheduler group with a specified version (defaulting to dev-SNAPSHOT). Downloaded JARs are placed into categorized subdirectories under plugins/.
Usage
Use this script when deploying DolphinScheduler from source or when adding new task/alert plugins to an existing installation. It supports DolphinScheduler's pluggable architecture by downloading only the required plugin JARs without bundling all plugins in the distribution.
Code Reference
Source Location
- Repository: Apache_Dolphinscheduler
- File: script/install-plugins.sh
- Lines: 1-62
Signature
#!/bin/bash
# Usage: install-plugins.sh [version]
#
# Arguments:
# version (optional) - Maven artifact version to download (default: dev-SNAPSHOT)
#
# Configuration:
# Reads from $DOLPHINSCHEDULER_HOME/conf/plugins_config
#
# Config format:
# --directory_name # Creates plugins/directory_name/
# artifact-id-1 # Downloads shaded JAR for this artifact
# artifact-id-2
# --end # End marker
#
# Downloads to: $DOLPHINSCHEDULER_HOME/plugins/<directory>/
Import
# Invoked directly from the command line
./script/install-plugins.sh # Uses dev-SNAPSHOT
./script/install-plugins.sh 3.2.1 # Uses specific version
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| version | String (CLI argument) | No | Maven artifact version to download; defaults to dev-SNAPSHOT |
| conf/plugins_config | Text file | Yes | Declarative list of plugin directories and artifact IDs |
| mvnw | Maven wrapper script | Yes | Used to invoke dependency:get for each artifact |
Outputs
| Name | Type | Description |
|---|---|---|
| plugins/<dir>/<artifact>-<version>-shade.jar | JAR files | Downloaded shaded plugin artifacts organized by category |
| plugins/ | Directory tree | Created plugin subdirectories matching config structure |
Usage Examples
Install Default Plugins
# Install all plugins defined in conf/plugins_config using dev-SNAPSHOT version
cd $DOLPHINSCHEDULER_HOME
./script/install-plugins.sh
Install Specific Release Version
# Install plugins for a specific release version
./script/install-plugins.sh 3.2.1
# Verify downloaded plugins
ls -la plugins/
Example plugins_config Format
--task
dolphinscheduler-task-shell
dolphinscheduler-task-python
dolphinscheduler-task-spark
--alert
dolphinscheduler-alert-email
dolphinscheduler-alert-dingtalk
--end