Apache DolphinScheduler Docker部署完全指南

Apache DolphinScheduler Docker部署完全指南

dolphinscheduler Dolphinscheduler是一个分布式调度系统,主要用于任务调度和流程编排。它的特点是易用性高、可扩展性强、性能稳定等。适用于任务调度和流程自动化场景。 dolphinscheduler 项目地址: https://gitcode.com/gh_mirrors/dol/dolphinscheduler

前言

Apache DolphinScheduler是一个开源的分布式工作流任务调度系统,具有可视化操作界面、丰富的任务类型支持、高可靠性和高扩展性等特点。本文将详细介绍如何使用Docker容器技术快速部署DolphinScheduler,帮助开发者快速搭建开发测试环境或生产环境。

环境准备

在开始部署前,请确保您的系统满足以下要求:

  1. Docker引擎版本1.13.1或更高
  2. Docker Compose版本1.28.0或更高
  3. 建议系统内存不少于4GB(生产环境建议8GB以上)

三种部署方式对比

DolphinScheduler提供了三种Docker部署方式,适用于不同场景:

| 部署方式 | 适用场景 | 特点 | 是否适合生产环境 | |---------|---------|------|---------------| | standalone-server镜像 | 快速体验 | 单进程运行,使用H2内存数据库 | 否 | | docker-compose | 完整功能体验 | 多容器独立运行,使用PostgreSQL持久化存储 | 是 | | 自定义基础服务 | 已有基础设施 | 复用现有PostgreSQL和ZooKeeper | 是 |

详细部署步骤

1. 使用standalone-server镜像快速体验

这是最简单的部署方式,适合初次接触DolphinScheduler的用户快速了解系统功能。

# 设置DolphinScheduler版本变量
DOLPHINSCHEDULER_VERSION=<版本号>

# 启动standalone-server容器
docker run --name dolphinscheduler-standalone-server \
  -p 12345:12345 \
  -p 25333:25333 \
  -d apache/dolphinscheduler-standalone-server:"${DOLPHINSCHEDULER_VERSION}"

注意事项

  • 此方式使用H2内存数据库,容器停止后数据会丢失
  • 仅包含核心功能,部分任务插件和告警组件需要额外配置
  • 所有服务运行在单个进程中,不适合生产环境

2. 使用docker-compose部署完整服务

这是推荐的部署方式,适合需要完整功能体验的场景。

# 下载并解压源码包
DOLPHINSCHEDULER_VERSION=<版本号>
tar -zxf apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src.tar.gz

# 进入docker部署目录
cd apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src/deploy/docker

# 初始化数据库结构
docker-compose --profile schema up -d

# 启动所有服务
docker-compose --profile all up -d

系统架构

  • 使用PostgreSQL作为元数据库
  • ZooKeeper作为服务注册中心
  • 各服务独立运行在不同容器中

性能优化建议

  • 为Docker分配足够内存(建议4GB以上)
  • 生产环境建议将数据库数据目录挂载到宿主机

3. 使用已有基础服务部署

如果已有PostgreSQL和ZooKeeper服务,可以使用此方式部署。

# 初始化数据库
docker run -d --name dolphinscheduler-tools \
  -e DATABASE="postgresql" \
  -e SPRING_DATASOURCE_URL="jdbc:postgresql://<数据库地址>:5432/<数据库名>" \
  -e SPRING_DATASOURCE_USERNAME="<用户名>" \
  -e SPRING_DATASOURCE_PASSWORD="<密码>" \
  --net host \
  apache/dolphinscheduler-tools:"${DOLPHINSCHEDULER_VERSION}" tools/bin/upgrade-schema.sh

# 启动各服务组件
docker run -d --name dolphinscheduler-master \
  -e DATABASE="postgresql" \
  -e SPRING_DATASOURCE_URL="jdbc:postgresql://<数据库地址>:5432/<数据库名>" \
  -e SPRING_DATASOURCE_USERNAME="<用户名>" \
  -e SPRING_DATASOURCE_PASSWORD="<密码>" \
  -e REGISTRY_ZOOKEEPER_CONNECT_STRING="<ZooKeeper地址>:2181" \
  --net host \
  apache/dolphinscheduler-master:"${DOLPHINSCHEDULER_VERSION}"

# 类似方式启动worker、api、alert-server等服务

配置说明

  • --net host使容器使用主机网络,简化网络配置
  • 各环境变量对应application.yaml中的配置项
  • 确保数据库用户有足够的权限

系统访问与登录

部署完成后,通过以下方式访问系统:

  1. 访问地址:http://<服务器IP>:12345/dolphinscheduler/ui
  2. 默认用户名:admin
  3. 默认密码:dolphinscheduler123

安全建议

  • 首次登录后立即修改默认密码
  • 生产环境建议配置HTTPS访问
  • 根据实际需求创建不同权限的用户

常见问题解答

Q:如何查看服务是否正常启动?

A:可以使用docker ps查看容器运行状态,或使用docker logs <容器名>查看日志。

Q:如何升级版本?

A:建议先备份数据库,然后停止旧版本容器,使用新版本镜像重新部署。

Q:如何配置邮件告警?

A:需要修改alert-server的环境变量,配置SMTP服务器相关信息。

总结

本文详细介绍了Apache DolphinScheduler的三种Docker部署方式,从快速体验到生产环境部署都有涵盖。在实际应用中,建议根据业务需求选择合适的部署方式,并做好相应的性能优化和安全配置。对于生产环境,推荐使用docker-compose方式或自定义基础服务方式部署,确保服务的稳定性和数据的持久性。

dolphinscheduler Dolphinscheduler是一个分布式调度系统,主要用于任务调度和流程编排。它的特点是易用性高、可扩展性强、性能稳定等。适用于任务调度和流程自动化场景。 dolphinscheduler 项目地址: https://gitcode.com/gh_mirrors/dol/dolphinscheduler

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛炎宝Gardener

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值