DolphinScheduler:大数据任务调度利器

目录

一、概述

二、主要特性

三、DolphinScheduler 架构

四、安装与配置

1. 环境准备

2. 安装步骤[单机模式]

五、使用 DolphinScheduler 创建任务

六、应用场景

七、总结


一、概述

在大数据场景中,任务调度器是必不可少的工具,用于协调多个数据处理任务的执行顺序、调度时间和依赖关系。DolphinScheduler 是 Apache 开源的一款分布式、大数据任务调度系统,致力于解决复杂的任务依赖管理,并提供简单易用的可视化操作界面。

本文将介绍 DolphinScheduler 的主要特性、架构以及使用场景。

二、主要特性

  1. 分布式任务调度: DolphinScheduler 支持分布式任务调度,具有良好的扩展性,能够处理大量任务。
  2. DAG 任务编排: 支持通过有向无环图(DAG)进行任务依赖管理,保证任务按照预定依赖关系正确执行。
  3. 可视化操作: 提供友好的 Web 可视化界面,用户可以方便地创建、管理和监控任务。
  4. 支持多种任务类型: 包括 Shell 脚本、Spark、Flink、MapReduce、Python 等任务类型,满足大数据处理中的各种需求。
  5. 故障恢复: 具备自动故障恢复功能,调度器能够在任务失败后自动重试或通过报警通知相关人员。
  6. 报警机制: 支持任务的邮件、短信等报警功能,确保任务出现问题时能够及时处理。

三、DolphinScheduler 架构

DolphinScheduler 主要由以下几个组件组成:

  1. Master Server: 负责接收并处理任务调度请求,执行任务的调度逻辑,分配 Worker 进行实际任务执行。
  2. Worker Server: 实际负责执行调度的任务,可能包括提交 Spark、Flink 等大数据处理任务。
  3. Alert Server: 负责处理任务调度过程中产生的报警信息。
  4. API Server: 提供 RESTful 接口,供前端 Web UI 或第三方系统调用。
  5. 数据库: 负责存储任务的元数据、调度日志等信息。

整个系统通过 Master 和 Worker 进行分布式部署,可以水平扩展,提升任务的处理能力。

四、安装与配置

1. 环境准备

  • 操作系统:Linux(推荐 CentOS)
  • JDK:1.8 及以上版本
  • 数据库:MySQL(5.7 及以上版本)
  • ZooKeeper:3.4.6 及以上版本
  • Hadoop、Spark 等大数据框架

2. 安装步骤[单机模式]

     1. 下载并解压 DolphinScheduler 安装包:

tar -zxvf  apache-dolphinscheduler-3.1.8-bin.tar.gz  -C /opt/installs/

     2. 将mysql的驱动包拷贝到所有的服务的jars目录下:

cp mysql-connector-java-8.0.26.jar ./standalone-server/libs/standalone-server/

     3. 创建表dolphinscheduler以及新用户:

-- 建表
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

-- 创建新用户
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
FLUSH PRIVILEGES;

     4. 在Linux黑窗口运行:

export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=dolphinscheduler
export SPRING_DATASOURCE_URL="jdbc:mysql://bigdata01:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
export SPRING_DATASOURCE_PASSWORD=123456

-- 初始化数据库
bash tools/bin/upgrade-schema.sh

     5.  修改配置文件(apache-dolphinscheduler-3.1.8-bin/standalone-server/conf)

-- 在 DolphinScheduler 的安装目录下找到 conf/application.yaml 文件
-- 将其中关于数据库连接的部分修改为指向你的 MySQL 实例,包括用户名、密码、数据库名等信息。以下是修改后的示例:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://bigdata01:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
    username: dolphinscheduler
    password: 123456

     6. 启动服务

-- 启动 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
-- 停止 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh stop standalone-server
-- 查看 Standalone Server 状态
bash ./bin/dolphinscheduler-daemon.sh status standalone-server

启动后,打开浏览器访问 http://bigdata01:12345/dolphinscheduler 进入 DolphinScheduler 管理界面。

五、使用 DolphinScheduler 创建任务

  1. 创建工作流: 登录 DolphinScheduler 后,可以通过可视化界面创建任务工作流,并为每个任务设置依赖关系。
  2. 配置任务类型: 根据需求选择不同的任务类型,如 Shell 脚本任务、Spark 提交任务、数据同步任务等。
  3. 设置调度周期: 可以为任务设置调度周期,如每天定时运行,或者按小时、分钟等粒度定时执行。
  4. 监控任务状态: DolphinScheduler 提供实时监控界面,可以查看任务的执行情况、成功或失败状态,支持日志查看和任务的重试机制。

六、应用场景

DolphinScheduler 的广泛应用场景包括:

  1. 大数据处理流程调度: 在复杂的数据处理链路中,DolphinScheduler 可以调度 Hadoop、Spark、Flink 等大数据任务,管理各任务间的依赖关系。
  2. 数据同步任务: 利用 DolphinScheduler 定时同步不同数据源之间的数据,如 MySQL、HDFS、Hive 之间的数据传输。
  3. ETL 数据清洗任务: 可以结合 Sqoop、Flume 等工具完成数据的抽取、清洗和加载工作。

七、总结

DolphinScheduler 作为 Apache 旗下的开源项目,凭借其强大的任务调度能力、友好的可视化操作界面以及分布式架构,在大数据任务调度领域有着广泛的应用。它能够简化任务管理、提高调度效率,是企业级大数据处理的利器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值