Apache DolphinScheduler的优点
简单易用:
-
可视化 DAG: 用户友好的,通过拖拽定义工作流的,运行时控制工具
模块化操作: 模块化有助于轻松定制和维护。 -
模块化操作: 模块化有助于轻松定制和维护。
丰富的使用场景:
-
支持多种任务类型: 支持Shell、MR、Spark、SQL等10余种任务类型,支持跨语言,易于扩展
-
丰富的工作流操作: 工作流程可以定时、暂停、恢复和停止,便于维护和控制全局和本地参数。
High Reliability:
-
高可靠性: 去中心化设计,确保稳定性。原生 HA 任务队列支持,提供过载容错能力。DolphinScheduler 能提供高度稳健的环境。
High Scalability:
-
高扩展性: 支持多租户和在线资源管理。支持每天10万个数据任务的稳定运行。
注:使用虚拟机的话:如果是集群(至少 8G+3G+3G),如果是单台(10G+)
配置链接:
https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/guide/installation/standalone.html
单机模式部署
单机模式(standalone)模式下,所有服务均集中于一个StandaloneServer进程中,并且其中内置了注册中心Zookeeper和数据库H2。只需配置JDK环境,就可一键启动DolphinScheduler,快速体验其功能。
注意: Standalone 仅建议 20 个以下工作流使用,因为其采用内存式的 H2 Database, Zookeeper Testing Server,任务过多可能导致不稳定,并且如果重启或者停止 standalone-server 会导致内存中数据库里的数据清空。
单机启动,不需要zk,它内置了zk,把我们自己的zk服务停掉。
优点如下:
-
快速部署:不需要额外的服务器资源,节省设置时间。
-
简单性:不需要复杂的分布式设置,易于理解和操作。
-
适合小规模作业:对于不需要复杂调度的小型环境,单机模式足够使用。
缺点如下:
-
资源有限:单机模式下,计算和存储能力受限于单个服务器。
-
可靠性和高可用性差:没有冗余备份,单点故障会导致服务不可用。
-
不适合大规模作业:随着作业数量和规模的增长,单机模式会成为瓶颈。
-
不适合生产环境:不建议在生产环境中使用单机模式,因为它没有任何冗余和故障转移机制。
伪集群模式部署
伪集群模式(Pseudo-Cluster)是在单台机器部署 DolphinScheduler 各项服务,该模式下master、worker、api server、logger server等服务都只在同一台机器上。Zookeeper和数据库需单独安装并进行相应配置。
优点如下:
-
简化了部署过程,因为不需要物理或虚拟机器。
-
节省资源,可以在有限的硬件上运行。
-
可以快速启动并运行,便于测试和验证。
缺点如下:
-
所有服务都在单个节点上运行,因此存在单点故障风险。
-
资源有限,不能处理大规模或生产级负载。
-
不适合生产环境,因为缺乏高可用性和容错机制。
集群模式部署
集群模式(Cluster)与伪集群模式的区别就是在多台机器部署 DolphinScheduler各项服务,并且可以配置多个Master及多个Worker。
集群模式是在多台机器上部署DolphinScheduler服务,用于运行大量任务的情况。这种模式适用于生产环境,可以配置多个Master和多个Worker,通常用于处理复杂的工作流和大量数据处理任务。集群模式下,Master和Worker服务可以在多台机器上配置,以实现高可用性和扩展性。
优点如下:
-
高可用性:多个Master节点和Worker节点可以提供高可用性,一个节点宕机不会影响服务。
-
负载均衡:多个Worker节点可以分摊任务执行压力,提高任务处理效率。
-
资源共享:所有的Worker节点可以共享任务,减少任务重复执行。
-
扩展性:可以轻松添加新的Worker节点以扩展集群。
缺点如下:
-
系统资源:运行集群模式需要更多的系统资源,因为多个Master和Worker节点需要运行。
-
配置复杂:集群配置相对复杂,需要设置ZooKeeper集群,并在Master和Worker节点上配置相应的参数。
-
维护复杂:集群运维较为复杂,需要有更深入的了解才能有效管理。
分布式集群部署
Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。
Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。 DolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。
优点如下:
-
高可用性:多个服务器节点可以提供高可用性,一个节点失效不会影响整个系统的运行。
-
负载均衡:多个节点可以分担任务执行的压力,提高系统的处理能力。
-
资源管理:多个节点可以管理不同的任务,有效利用服务器资源。
-
扩展性:系统可以通过增加更多节点来简单地扩展。
部署DolphinScheduler的优点可以总结为:高可靠性、高性能、高可扩展性和高可维护性。