Docker deployment aims to start and deploy Apache Dolphinscheduler services quickly in a container.
Prerequisites
- Docker
Single-node Deployment of Dolphinscheduler Using Containers
- Please download the source package apache-dolphinscheduler — src.tar.gz from Download
- First, ensure the ports required for service startup are not occupied:
port_list=(12345 25333 5432)
for port in ${port_list[@]}; do
netstat -an | grep $port
done
# No output means the ports are not occupied
- If the ports are occupied:
vim docker-compose.yml
- Find
dolphinscheduler-api
, and modify the ports.
# Default content
ports:
- "12345:12345"
- "25333:25333"
# Modify as needed, e.g.:
ports:
- "22345:12345"
- "35333:25333"
2. Install Postgresql and Dolphinscheduler services:
tar -zxvf apache-dolphinscheduler-<version>-src.tar.gz
cd apache-dolphinscheduler-<version>-src/deploy/docker
# Initialize database, etc.
docker-compose --profile schema up -d
# Start all services
docker-compose --profile all up -d
Distributed Deployment of Dolphinscheduler Using Containers
-
After modifying the .env file in the deploy folder, copy it to other servers.
-
On other servers, where you want to start Dolphinscheduler services (e.g., Dolphinscheduler-api), execute the startup command:
docker-compose up -d dolphinscheduler-api
Using Non-containerized Postgresql and Zookeeper
- Modify environment variables:
# Enter the Deploy directory
cd apache-dolphinscheduler-<version>-src/deploy/docker
vim .env
## Modify the following contents
# Database name
DATABASE=dolp
# Database connection address
SPRING_DATASOURCE_URL=jdbc:postgresql://10.0.8.14:15432/dolp
# Zookeeper connection address
REGISTRY_ZOOKEEPER_CONNECT_STRING=10.0.8.14:12181
# Username for connecting to the database
SPRING_DATASOURCE_USERNAME=dolp
# Password for connecting to the database
SPRING_DATASOURCE_PASSWORD=111111
- Initialization:
docker-compose --profile schema up -d
- Start Dolphinscheduler services:
# Start the worker service
docker-compose up -d dolphinscheduler-worker
# Start the master service
docker-compose up -d dolphinscheduler-master
# Start the alert service
docker-compose up -d dolphinscheduler-alert
# Start the API service
docker-compose up -d dolphinscheduler-api