Apache DolphinScheduler 是一个分布式、易扩展的可视化 DAG 工作流任务调度系统,它具备以下主要特性:
1. 易于部署和使用:DolphinScheduler 提供了多种部署方式,包括 Standalone、Cluster、Docker 和 Kubernetes,并且可以通过 Web UI、Python SDK、Yaml 文件和 Open API 来创建和管理工作流 。
2. 高可靠性和高可用性:采用多主多从的去中心化架构,支持横向扩展,并且原生支持高可用性 。
3. 高性能:性能比其他编排平台快,每天可以支持千万级任务的稳定运行 。
4. 云原生支持:支持编排多云/数据中心工作流,支持自定义任务类型 。
5. 丰富的任务类型:支持 Shell、MR、Spark、Flink、SQL、Python、Http、Sub-process 等多种任务类型,并且易于扩展 。
6. 工作流操作丰富:支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill 任务等操作 。
7. 多租户支持:能够满足多租户的使用需求,提供资源的隔离和安全性 。
8. 国际化:支持多语言,方便不同国家和地区的用户使用 。
9. 版本控制:对工作流和工作流实例(包括任务)进行版本控制,方便跟踪和管理 。
10. 监控和告警:支持任务日志在线查看及滚动、在线下载日志等,以及邮件告警功能 。
DolphinScheduler 适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。它致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中 开箱即用 。此外,DolphinScheduler 社区活跃,已有400+位贡献者参与,3000+公司生产使用,是非常流行的大数据工作流调度平台 。
关于部署,DolphinScheduler 支持在多种 Linux 操作系统上运行,包括但不限于 Red Hat Enterprise Linux、CentOS、Oracle Enterprise Linux 和 Ubuntu LTS。对于服务器配置,建议使用 Intel x86-64 架构的 64 位通用硬件服务器平台,并根据生产环境的具体需求进行配置 。