首页 > 其他分享 >DolphinScheduler:大数据任务调度利器

DolphinScheduler:大数据任务调度利器

时间:2024-09-10 11:54:01浏览次数:12  
标签:dolphinscheduler -- 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 旗下的开源项目,凭借其强大的任务调度能力、友好的可视化操作界面以及分布式架构,在大数据任务调度领域有着广泛的应用。它能够简化任务管理、提高调度效率,是企业级大数据处理的利器。

标签:dolphinscheduler,--,DolphinScheduler,调度,利器,任务,任务调度
From: https://blog.csdn.net/m0_70691645/article/details/142067537

相关文章

  • 海豚调度器(DolphinScheduler)单机模式的部署与使用
    一、概述1、什么是DolphinScheduler  ApacheDolphinScheduler(下面简称DS) 是一个为企业级应用场景设计的开源任务调度系统,它提供了分布式的、可扩展的并且易于使用的可视化界面,让用户能够高效地管理和调度复杂的工作流任务,覆盖从任务创建到监控的全生命周期数据处理流程......
  • Br软件全版本下载Adobe Bridge全面协作利器:立即获取办公软件
    Br软件全版本下载Adobe Bridge全面协作利器:立即获取办公软件AdobeBridge:全面协作利器,立即获取办公软件在当今数字化时代,高效的工作流程和协作工具对于企业和个人来说至关重要。AdobeBridge作为一款强大的数字资产管理工具,不仅能够帮助用户管理和组织大量的媒体文件,还能与其他Ado......
  • Star 39.9k太方便了!程序员的作图利器:draw.io!敲代码画图两不误!
    现在身处职场中,作为一名埋头苦干的打工人,不论是什么工种,不会做图有时候还真‘活不下去’。当然工厂拧螺丝就另说了!我是发现不论你是产品设计、运维、测试,还是程序员还是摆脱不了技术之外的事情,就比如制作各种图表,平时有平台/工具流程图,项目上有各种上项演示图表,私下其他部......
  • 探究通达信指标转 QMT 的三大利器,谁更精准?
    作者:老余捞鱼原创不易,转载请标明出处及原作者。写在前面的话:    常用于将通达信指标转换为QMT的Python库有talib、MyTT以及fengwo。这三个库的功能均极为强大,通常的通达信指标均能够被翻译成QMT。针对这三个库的详尽介绍,网络上数量众多,可自行进行查阅。本......
  • 【C#生态园】构建交互式界面利器:C#命令行解析库全方位评测
    C#命令行利器:选择最适合你的命令行解析器前言在现代软件开发中,命令行解析器库是不可或缺的工具,它们为开发人员提供了简单、高效地处理命令行参数和构建交互式命令行界面的方法。本文将介绍几个用于C#的优秀命令行解析器库,分别探讨它们的核心功能、使用场景、安装配置以及A......
  • PyCharm的使用教程详解;PyCharm编程利器安装包下载!
    PyCharm是一款由JetBrains开发的跨平台Python集成开发环境,旨在帮助Python开发者提高效率。它拥有强大的代码编辑、调试和测试工具,能够支持各种Python框架和库的开发。PyCharm还具备自动代码补全、语法高亮、代码导航、版本控制、数据库工具等一系列高级功能,以及可扩展的插件系......
  • 屋顶上的气膜体育馆:商场创新的引流利器—轻空间
    现代都市生活中,商场已成为不可或缺的一部分。然而,在竞争激烈的市场环境中,能够脱颖而出的商场往往依赖于独特的经营策略和创新的理念。上海嘉定某商场正是凭借其巧妙的创新思路,成功吸引了大量顾客,成为区域内的商业亮点。 创新利用屋顶空间,打造独特体验该商场的成功秘诀在于......
  • 豆瓣评分7.9!AI大模型时代利器:LangChain入门指南
    2023年,LLM(大语言模型)井喷式爆发,尤其是GPT-4问世,一石激起千层浪,影响了整个人工智能领域,每个开发者都被“裹挟”着进入了LLM应用开发时代。在这样的大背景下,LangChain这个以LLM为核心的开发框架应运而生,进一步推动了这一领域的创新和发展。LangChain不仅可以用于开发......
  • Java中的分布式任务调度:Quartz与Spring Task
    Java中的分布式任务调度:Quartz与SpringTask大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何在Java应用中实现分布式任务调度,重点介绍Quartz和SpringTask这两种常见的调度解决方案。我们将分别介绍这两种工具的基本用法,并演示如何......
  • 《C++中的移动构造函数与移动赋值运算符:高效编程的利器》
    一、引言在C++编程中,随着现代软件对性能要求的不断提高,高效地管理资源变得至关重要。C++11引入了移动语义,其中移动构造函数和移动赋值运算符成为了提高程序性能和资源管理效率的重要工具。本文将深入探讨C++中的移动构造函数和移动赋值运算符的作用,以及它们在实际编程中......