Apache DolphinScheduler Docker部署指南:从入门到生产环境

Apache DolphinScheduler Docker部署指南:从入门到生产环境

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

前言

Apache DolphinScheduler是一个开源的分布式工作流任务调度系统,具有可视化操作界面、丰富的任务类型支持和高可靠性等特点。本文将详细介绍如何使用Docker快速部署DolphinScheduler,涵盖从快速体验的单机模式到生产环境的分布式部署方案。

环境准备

在开始部署前,请确保系统已安装以下组件:

  • Docker 1.13.1或更高版本
  • Docker Compose 1.28.0或更高版本

建议为Docker分配至少4GB内存以获得更好的运行体验。

三种Docker部署方式

1. 单机模式快速体验

适合初次接触DolphinScheduler的用户快速了解系统功能:

$ DOLPHINSCHEDULER_VERSION=<版本号>
$ docker run --name dolphinscheduler-standalone-server \
    -p 12345:12345 -p 25333:25333 \
    -d apache/dolphinscheduler-standalone-server:"${DOLPHINSCHEDULER_VERSION}"

特点说明

  • 所有服务运行在单一容器中
  • 使用H2内存数据库,容器停止后数据将丢失
  • 仅包含核心服务,不支持Spark/Flink等需要外部环境的任务类型
  • 默认端口:12345(Web UI)和25333(API)

适用场景:仅用于功能体验和学习,不建议生产环境使用。

2. Docker Compose完整部署

适合中小规模生产环境,各服务运行在独立容器中:

$ DOLPHINSCHEDULER_VERSION=<版本号>
$ tar -zxf apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src.tar.gz
$ cd apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src/deploy/docker

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

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

部署特点

  • 自动创建PostgreSQL数据库(用户root/密码root,数据库dolphinscheduler)
  • 自动部署ZooKeeper服务
  • 各组件(Master/Worker/Api等)运行在独立容器
  • 数据持久化存储,重启不丢失

配置建议

  • 生产环境应修改默认数据库密码
  • 根据业务规模调整各服务资源配置
  • 考虑添加数据备份机制

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

# 分别启动各服务(示例为Master服务)
$ 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="<ZK地址>:2181" \
    --net host \
    apache/dolphinscheduler-master:"${DOLPHINSCHEDULER_VERSION}"

环境要求

  • PostgreSQL 8.2.15+
  • ZooKeeper 3.8.0+
  • 各服务节点间网络互通

优势

  • 复用现有数据库和协调服务
  • 灵活配置各组件部署位置
  • 便于水平扩展

系统访问与配置

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

  • 单机模式:http://localhost:12345/dolphinscheduler/ui
  • 分布式部署:http://<API服务地址>:12345/dolphinscheduler/ui

默认登录凭证

  • 用户名:admin
  • 密码:dolphinscheduler123

环境变量配置

DolphinScheduler支持通过环境变量配置各项参数,常见配置包括:

  • 数据库相关:

    • DATABASE: 数据库类型(postgresql/mysql等)
    • SPRING_DATASOURCE_URL: JDBC连接地址
    • SPRING_DATASOURCE_USERNAME: 数据库用户名
    • SPRING_DATASOURCE_PASSWORD: 数据库密码
  • ZooKeeper相关:

    • REGISTRY_ZOOKEEPER_CONNECT_STRING: ZooKeeper连接地址
  • 其他配置:

    • SPRING_JACKSON_TIME_ZONE: 时区设置(建议UTC)
    • MASTER_EXEC_THREADS: Master执行线程数
    • WORKER_EXEC_THREADS: Worker执行线程数

生产环境建议

  1. 数据库

    • 使用高性能数据库如PostgreSQL或MySQL
    • 配置定期备份策略
    • 根据业务规模优化数据库参数
  2. 高可用

    • Master/Worker部署多个实例
    • 使用VIP或负载均衡访问API服务
    • 监控各服务健康状态
  3. 性能调优

    • 根据任务量调整各服务线程池大小
    • 优化ZooKeeper配置
    • 考虑使用外部存储如HDFS存放资源文件
  4. 安全

    • 修改默认管理员密码
    • 启用HTTPS访问
    • 配置网络访问控制

常见问题处理

  1. 容器启动失败

    • 检查日志:docker logs <容器名>
    • 确认端口未被占用
    • 验证数据库连接信息
  2. 性能问题

    • 增加Master/Worker实例数
    • 优化数据库查询
    • 检查网络延迟
  3. 任务执行失败

    • 验证Worker节点执行环境
    • 检查资源文件路径
    • 查看任务详细日志

通过以上Docker部署方案,用户可以根据实际需求选择适合的部署方式,从快速体验到生产环境部署都能得到良好支持。建议初次使用者从单机模式开始,熟悉系统后再逐步过渡到分布式生产部署。

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

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

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

抵扣说明:

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

余额充值