
调度器安装
2025/6/20大约 3 分钟
一、下载源码
- 🔗 百度网盘 提取码: mc1d
二、创建阿里云的镜像仓库(服务器构建镜像跳过)
访问https://cr.console.aliyun.com
进行创建(或使用私有的仓库都可以)
三、本地安装Docker Desktop(服务器构建镜像跳过)
四、登陆阿里云镜像服务(服务器构建镜像跳过)
#登陆
docker login --username=《账号》 registry.cn-hangzhou.aliyuncs.com
#输入密码
五、打开项目(服务器构建镜像跳过)
开发工具IDEA打开项目中的 dolphinscheduler 文件夹,会自动安装Maven依赖,等待安装完成,速度取决于网络。
六、构建镜像
1、本地构建镜像
#maven 打包构建发布,命名空间为阿里云的替换后再执行,-Ddocker.tag 为镜像的标签,默认为latest,-Ddocker.hub为镜像仓库地址
mvn -B clean deploy -Dmaven.test.skip -Dmaven.javadoc.skip -Dspotless.skip=true -Dmaven.deploy.skip -Ddocker.tag=latest -Ddocker.hub=registry.cn-hangzhou.aliyuncs.com/《命名空间》 -Pdocker,release
2、服务器构建镜像
#maven 打包构建,-Ddocker.tag 为镜像的标签
mvn -B clean package -Dmaven.test.skip -Dmaven.javadoc.skip -Dspotless.skip=true -Ddocker.tag=latest -Pdocker,release
七、修改环境变量文件
位于:deploy/docker/dev/.env
,具体配置项目可以参考里面的注释内容。
TAG=latest #镜像的标签
TZ=Asia/Shanghai
DATABASE=postgresql #数据库类型 默认为postgresql
SPRING_JACKSON_TIME_ZONE=UTC
SPRING_DATASOURCE_URL=jdbc:postgresql://dolphinscheduler-postgresql:5432/dolphinscheduler #数据库连接地址
REGISTRY_ZOOKEEPER_CONNECT_STRING=dolphinscheduler-zookeeper:2181 #zookeeper连接地址
SPARK_HOME=/opt/soft/spark # spark的目录,默认为/opt/soft/spark(docker容器内的地址)
SPARK_MASTER_URL=spark://192.168.0.5:7077 #spark-master url
SPRING_RABBITMQ_HOST=192.168.0.5 #rabbitmq ip
SPRING_RABBITMQ_PORT=5672 #rabbitmq 端口
SPRING_RABBITMQ_USERNAME=账号 #rabbitmq 账号
SPRING_RABBITMQ_PASSWORD=密码 #rabbitmq 密码
八、修改docker-compose文件
位于:deploy/docker/dev/docker-compose.yml
,具体配置项目可以参考里面的注释内容。
version: "3.8"
services:
dolphinscheduler-postgresql:
image: bitnami/postgresql:15.2.0
ports:
- "5432:5432"
profiles: ["schema"]
environment:
POSTGRESQL_USERNAME: root
POSTGRESQL_PASSWORD: root
POSTGRESQL_DATABASE: dolphinscheduler
volumes:
- dolphinscheduler-postgresql:/bitnami/postgresql
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/5432"]
interval: 5s
timeout: 60s
retries: 120
networks:
- dolphinscheduler
dolphinscheduler-zookeeper:
image: bitnami/zookeeper:3.7.1
profiles: ["all"]
environment:
ALLOW_ANONYMOUS_LOGIN: "yes"
ZOO_4LW_COMMANDS_WHITELIST: srvr,ruok,wchs,cons
volumes:
- dolphinscheduler-zookeeper:/bitnami/zookeeper
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/2181"]
interval: 5s
timeout: 60s
retries: 120
networks:
- dolphinscheduler
dolphinscheduler-schema-initializer:
image: ${HUB}/dolphinscheduler-tools:${TAG}
env_file: .env
profiles: ["schema"]
command: [ tools/bin/upgrade-schema.sh ]
depends_on:
dolphinscheduler-postgresql:
condition: service_healthy
volumes:
- /data/ds/logs:/opt/dolphinscheduler/logs
# spark放在/data/ds/soft 并进行挂载
- /data/ds/soft:/opt/soft
- /data/ds/resource:/dolphinscheduler
networks:
- dolphinscheduler
dolphinscheduler-api:
image: ${HUB}/dolphinscheduler-api:${TAG}
ports:
- "12345:12345"
- "25333:25333"
profiles: ["all"]
env_file: .env
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 30s
timeout: 5s
retries: 3
depends_on:
dolphinscheduler-zookeeper:
condition: service_healthy
volumes:
- /data/ds/logs:/opt/dolphinscheduler/logs # 实例日志路径挂载,用于在平台中查看实例日志
- /data/ds/soft:/opt/soft # spark放在/data/ds/soft 并进行挂载
- /data/ds/resource:/dolphinscheduler
networks:
- dolphinscheduler
dolphinscheduler-alert:
image: ${HUB}/dolphinscheduler-alert-server:${TAG}
profiles: ["all"]
env_file: .env
healthcheck:
test: [ "CMD", "curl", "http://localhost:50053/actuator/health" ]
interval: 30s
timeout: 5s
retries: 3
depends_on:
dolphinscheduler-zookeeper:
condition: service_healthy
volumes:
- /data/ds/logs:/opt/dolphinscheduler/logs # 实例日志路径挂载,用于在平台中查看实例日志
networks:
- dolphinscheduler
dolphinscheduler-master:
image: ${HUB}/dolphinscheduler-master:${TAG}
profiles: ["all"]
env_file: .env
healthcheck:
test: [ "CMD", "curl", "http://localhost:5679/actuator/health" ]
interval: 30s
timeout: 5s
retries: 3
depends_on:
dolphinscheduler-zookeeper:
condition: service_healthy
volumes:
- /data/ds/logs:/opt/dolphinscheduler/logs # 实例日志路径挂载,用于在平台中查看实例日志
- /data/ds/soft:/opt/soft # spark放在/data/ds/soft 并进行挂载
networks:
- dolphinscheduler
dolphinscheduler-worker:
image: ${HUB}/dolphinscheduler-worker:${TAG}
ports:
- "8083:8080"
profiles: ["all"]
env_file: .env
healthcheck:
test: [ "CMD", "curl", "http://localhost:1235/actuator/health" ]
interval: 30s
timeout: 5s
retries: 3
depends_on:
dolphinscheduler-zookeeper:
condition: service_healthy
volumes:
- dolphinscheduler-worker-data:/tmp/dolphinscheduler # 实例日志路径挂载,用于在平台中查看实例日志
- /data/ds/logs:/opt/dolphinscheduler/logs # spark放在/data/ds/soft 并进行挂载
- /data/ds/soft:/opt/soft # spark放在/data/ds/soft 并进行挂载
- /data/ds/resource:/dolphinscheduler # 资源中心挂载,用于平台csv excel文件可以在任务中访问
networks:
- dolphinscheduler
networks:
dolphinscheduler:
driver: bridge
volumes:
dolphinscheduler-postgresql:
dolphinscheduler-zookeeper:
dolphinscheduler-worker-data:
九、上传文件至服务器
复制项目中下方文件,到服务器的/opt/ds
目录下
deploy/docker/postgresql.tar
deploy/docker/zookeeper.tar
deploy/docker/restart.sh
deploy/docker/dev/.env
deploy/docker/dev/docker-compose.yml
十、加载两个docker离线镜像包
登录到服务器,并进入/opt/ds
目录下
cd /opt/ds
docker load -i postgresql.tar
docker load -i zookeeper.tar
十一、登陆阿里云镜像服务(服务器构建镜像跳过)
#登陆
docker login --username=《账号》 registry.cn-hangzhou.aliyuncs.com
#输入密码
十二、初始化数据库结构
cd /opt/ds
docker-compose --profile schema up -d
十三、启动服务
cd /opt/ds
#给脚本添加权限
chmod +x restart.sh
#执行启动脚本
./restart.sh