DolphinScheduler is organized into several component directories, each containing its own binaries, configurations, and libraries. Understanding this structure is essential for locating configuration files and startup scripts for specific services.
Key components include:
bin/: Contains global application commands and the dolphinscheduler-daemon.sh script.api-server/: Contains the API server components, including conf/application.yaml and conf/common.properties.master-server/: Contains the master server components.worker-server/: Contains the worker server components.alert-server/: Contains the alert server components.standalone-server/: A complete package for a single-node deployment.tools/: Contains metadata management tools like upgrade-schema.sh.ui/: Contains front-end web resources.
Each server component (api, master, worker, alert, standalone) typically follows a consistent internal structure:
bin/: Startup scripts (e.g., start.sh) and JVM argument configurations (jvm_args_env.sh).conf/: Configuration files including application.yaml (service-specific), common.properties (shared services like storage/credentials), and dolphinscheduler_env.sh (environment variables).libs/: Component libraries.log/ or logback-spring.xml: Logging configurations.
├── bin directory of DolphinScheduler application commands, configurations scripts
│ ├── dolphinscheduler-daemon.sh script to start or shut down DolphinScheduler application
│ ├── env directory of scripts to load environment variables
│ │ ├── dolphinscheduler_env.sh script to export environment variables [eg: JAVA_HOME,HADOOP_HOME, HIVE_HOME ...]
├── alert-server directory of DolphinScheduler alert-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start DolphinScheduler alert-server
│ ├── conf
│ │ ├── application.yaml configurations of alert-server
│ │ ├── common.properties configurations of common-service like storage, credentials, etc.
│ ├── libs directory of alert-server libs
├── api-server directory of DolphinScheduler api-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start DolphinScheduler api-server
│ ├── conf
│ │ ├── application.yaml configurations of api-server
│ │ ├── common.properties configurations of common-service like storage, credentials, etc.
│ ├── libs directory of api-server libs
│ └── ui directory of api-server related front-end web resources
├── master-server directory of DolphinScheduler master-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start DolphinScheduler master-server
│ ├── conf
│ │ ├── application.yaml configurations of master-server
│ │ ├── common.properties configurations of common-service like storage, credentials, etc.
│ ├── libs directory of master-server libs
├── standalone-server directory of DolphinScheduler standalone-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start DolphinScheduler standalone-server
│ ├── conf
│ │ ├── application.yaml configurations of standalone-server
│ │ ├── common.properties configurations of common-service like storage, credentials, etc.
│ ├── libs directory of standalone-server libs
│ └── ui directory of standalone-server related front-end web resources
├── tools directory of DolphinScheduler metadata tools commands, configurations scripts and libs
│ ├── bin
│ │ └── upgrade-schema.sh script to initialize or upgrade DolphinScheduler metadata
│ ├── conf
│ │ ├── application.yaml configurations of tools
│ │ ├── common.properties configurations of common-service like storage, credentials, etc.
│ ├── libs directory of tool libs
│ └── sql .sql files to create or upgrade DolphinScheduler metadata
├── worker-server directory of DolphinScheduler worker-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start DolphinScheduler worker-server
│ ├── conf
│ │ ├── application.yaml configurations of worker-server
│ │ ├── common.properties configurations of common-service like storage, credentials, etc.
│ ├── libs directory of worker-server libs
└── ui directory of front-end web resources