Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Apache Dolphinscheduler Plugin Installation Script

From Leeroopedia


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

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

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment