【大数据离线项目四:什么是海豚调度?怎么使用可以将海豚调度应用到我们的大数据项目开发中?】

news2025/1/13 13:23:21

前言:
💞💞大家好,我是书生♡,今天主要和大家分享一下什么是海豚调度?怎么使用可以将海豚调度应用到我们的项目开发中?希望对大家有所帮助。
💞💞
代码是你的画笔,创新是你的画布,用它们绘出属于你的精彩世界,不断挑战,无限可能!

个人主页⭐: 书生♡
gitee主页🙋‍♂:闲客
专栏主页💞:大数据开发
博客领域💥:大数据开发,java编程,前端,算法,Python
写作风格💞:超前知识点,干货,思路讲解,通俗易懂
支持博主💖:关注⭐,点赞、收藏⭐、留言💬

目录

  • 1. 什么是海豚调度
  • 2. 海豚调度的作用
  • 3. 海豚调度的优点
  • 4. Dolphin Scheduler 的使用
    • 4.1 Dolphin Scheduler 的架构
    • 4.2 启动DS服务
    • 4.3 DS的安全中心
    • 4.4 项目调度练习
    • 4.5 数据源中心
    • 4.6 定时操作
  • 5. 线上部署操作

1. 什么是海豚调度

  • Apache DolphinScheduler(海豚调度)是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
  • Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。 DolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。
    在这里插入图片描述

2. 海豚调度的作用

解决大规模数据处理流程中的复杂依赖关系和高效执行问题。
Apache DolphinScheduler致力于简化数据处理流程的运维工作,帮助提升其数据驱动业务的效率和效果。适用于大规模数据处理与分析场景。

3. 海豚调度的优点

  • 分布式架构:

DolphinScheduler采用分布式去中心化的设计,具有高可用性和水平扩展能力,可以在大型集群中运行并调度成千上万个任务。

  • 可视化 DAG 工作流设计且简单易用

提供了可视化的界面来定义和编排数据处理流程,通过拖拽方式构建有向无环图(DAG),清晰地表示任务之间的依赖关系。
用户可以通过简单直观的操作界面创建、编辑、发布和监控工作流任务,同时支持自定义插件机制,能够方便地添加对新类型任务的支持。

  • 多租户和权限管理:

支持多租户模式,可以为不同团队或项目分配资源,并提供详细的权限控制,确保安全可靠的数据处理流程。

  • 容错与恢复机制:

采用checkpoint和重试策略,确保在出现故障时能够自动恢复任务执行,提高系统的稳定性和可靠性。

  • 多种任务类型支持:

可以调度包括但不限于SQL、Shell、Python、Spark、Hive等多种类型的任务,满足不同场景下的大数据处理需求。

  • 强大的调度功能:

支持定时调度、依赖调度以及手动触发任务,还具备动态参数传递、跨工作流依赖、邮件告警等功能。

  • 开箱即用:

配置简单,用户无需过多关注底层细节即可快速部署并开始使用。

4. Dolphin Scheduler 的使用

4.1 Dolphin Scheduler 的架构

具体流程:

  1. 首先在DS的web页面进行工作流的配置操作,将我们的任务添加进来,将其提交执行。
  2. 通过接口的调用,接收到被发送的请求,接受任务。
  3. 选择一台主节点的Master 用来进行任务的分配(底层最终是有对应scheduler具体完成,Master只是负责管理分配)
  4. 将对应的任务交给WokerServer 去执行,执行过程中worker对应有一个logger服务进行日志的记录。
  5. 当执行完成后, 通知Master, Master进行状态变更。

注意:在整个过程中,告警服务 Alert会一直进行实时的监控,一旦出现错误,会及时的反馈。

在这里插入图片描述

4.2 启动DS服务

首先要进入到安装了DS的目录下面,执行在bin目录下的启动脚本。

cd /export/server/dolphinscheduler/

./bin/start-all.sh

在这里插入图片描述

我们怎么确定他一定启动成功了呢?
通过jps查看服务是否真的启动成功!!!!
如果下面几个服务全部出现就说明启动成功了。

jps

在这里插入图片描述

DS web页面访问地址: http://192.168.88.80:12345/dolphinscheduler/ui/view/login/index.html

进入之后就是这个页面了。
在这里插入图片描述

4.3 DS的安全中心

安全中心下面,这么多服务都是干嘛的呢?
在这里插入图片描述

  1. 租户管理
    作用:当DS操作的时候,采用什么身份去操作。这个就是由租户决定的。
    在这里插入图片描述
  2. 队列管理
    当任务通过DS提交到资源队列,将任务提交到哪一个队列中。就是根据选择的队列决定的。

注意:此名称的设置,要和目标资源队列名称一致。
在这里插入图片描述

  1. 用户管理
    这个是登录DS的用户账户,一般有一个默认的admin的权限账户。也可以添加用户账户来登录DS。
    在这里插入图片描述
  2. 告警服务
    发生警告的时候,采用什么方式。
    在这里插入图片描述
  3. worker 分组
    任务最终是由worker节点执行的?由哪个worker执行取决你选择哪个节点。

在这里插入图片描述

4.4 项目调度练习

需求:我们想要先创建一个 root目录下的 aa/bb 文件夹 ,然后在 aa/bb文件夹下面创建一个txt文件。

  1. 配置项目名称,告诉我们这个操作在哪个项目下。
    点击项目管理。点击添加项目,写入项目名称和描述。
    在这里插入图片描述
    2.创建工作流
    先点击项目管理,直接进入到项目中。
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

我们要先从左边拖拽处第一个 shell语句。
创建目录节点
在这里插入图片描述
创建文件节点
在这里插入图片描述
点击右上角了直线,将两个节点连接起来。
在这里插入图片描述
3. 点击保存,选择租户为root
在这里插入图片描述
4. 上线运行工作流
在这里插入图片描述
先点击上线,再点击启动,将我们的worker 分组改为我们的主机。
在这里插入图片描述

  1. 点击工作流实例和任务实例 可以查看程序是否启动成功,以及是否启动完成。
    在这里插入图片描述

4.5 数据源中心

点击上面的数据源中心,点击创建数据源,添加对应的信息。
在这里插入图片描述
比如:我想连接HIve中的一个库,数据源先选择hive,取一个名称,IP地址就是服务器的ip地址,
端口 写对应的数据库的端口 Hive的是10000,mysql是3306等等。用户名哥密码按照对应的数据库的用户名和密码书写。最后是选择连接那个库?

在这里插入图片描述

4.6 定时操作

如果我们想让这个程序定时的运行,那我们就可以这是设置定时管理。

  1. 在工作流定义,点击定时
    在这里插入图片描述
    设置我们想要程序执行的时间
    这里我们设置每5秒执行一次。
    在这里插入图片描述
    然后点击定时管理
    在这里插入图片描述
    在这里插入图片描述

最后我们执行那个的时候,就可以让其每5秒执行一次。

5. 线上部署操作

我们的操作是将Hive中的dim层一个表导入到dwd层(分区的),在通过json将其导入到postgres中。
在这里插入图片描述
设置启动提示
在这里插入图片描述
设置从dim层到dwd层的节点。先拖拽处一个可以执行SQL的节点,填写数据
在这里插入图片描述
从dwd层到postgres是需要通过脚本的,因此我们选择一个执行shell的执行脚本
在这里插入图片描述
最后用线连起来
在这里插入图片描述

保存的时候注意 我们的是需要进行动态分区的,因此在保存的时候需要有点设置。 设置我们的分区时间,模版如下!!!

在这里插入图片描述
最后上线启动就可以啦。

编程之路虽充满挑战,但我们的智慧与毅力定能化难为易。愿在代码的海洋中遨游,创造出无数令人赞叹的程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1854053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大学物理(下)笔记

摘录来自笔记网站的笔记。笔记网站详见https://onford.github.io/Notes/。 大学物理(下)笔记 部分常用物理常量的计算值 C h a p t e r 9 Chapter9 Chapter9 恒定磁场 毕奥-萨伐尔定律 磁场和电场在很多性质上是有共性的,很多时候可以拿它…

MySQL【触发器、存储过程、函数、范式】

day53 MySQL 触发器 创建触发器:(before : 前置触发器、after :后置触发器) 语法: delimiter xx 指定分隔符xxcreate trigger 触发器名 [before | after] 触发事件 on 表名 for each row 执行语句begin…

导入别人的net文件报红问题sdk

1. 使用cmd命令 dotnet --info 查看自己使用的SDK版本 2.直接找到项目中的 global.json 文件,右键打开,直接修改版本为本机的SDK版本,就可以用了

34、shell数组+正则表达式命令

0、课前补充 jiafa () { result$(echo " $1 $2 " | bc ) print "%.2f\n" "$result" } ##保留小数点两位 薄弱加强点 a$(df -h | awk NR>1 {print $5} | tr -d %) echo "$a"一、数组 1.1、定义 数组的定义&am…

多分类情绪识别模型训练及基于ChatGLM4-9B的评论机器人拓展

你的下一个微博罗伯特何必是罗伯特 这是一篇我在使用开源数据集(Twitter Emotion Dataset (kaggle.com))进行情绪识别的分类模型训练及将模型文件介入对话模型进行应用的过程记录。当通过训练得到了可以输入新样本预测的模型文件后,想到了或许可以使用模型文件对新样…

【数据结构导论】自考笔试题:伪代码练习题汇总 1

目录 一、开源项目推荐 二、线性表的基本运算在单链表上的实现 (1)初始化 (2)插入 p 指向的新结点的操作 (3)删除 *p 节点 三、循环链表 (1)在单链表中 (2&…

Spring Boot 实现微信、QQ 绑定登录

文章目录 1. 项目环境2. 创建Spring Boot项目3. 配置微信和QQ开发平台4. 配置Spring Security5. 配置Spring Security6. 创建登录和主页控制器7. 创建视图8. 运行项目9. 处理用户信息结论 🎉欢迎来到SpringBoot框架学习专栏~ ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#…

JAVA复习4

目录 44、定义 int x5; 执行 int yx; 和 xy;,x 和 y 分别为( B )。 45、下列内容描述错误的是( C )。 46、以下 Java 语句在编译时不通过的是 (A) 47、在 Java 中,Scanner 类提供控制台获取键盘输入的功…

皇河将相董事长程灯虎出席第二十四届世纪大采风并获奖

仲夏时节,西子湖畔。第二十四届世纪大采风品牌人物年度盛典于6月16日至17日在杭州东方文化园隆重举行。本届盛典由亿央网、《华夏英才》电视栏目联合多家媒体共同主办,中世采文化发展集团承办,意尔康股份有限公司、宸咏集团协办,汇聚了来自全国政、商、产、学、研、媒等各界代表…

4.1 四个子空间的正交性

一、四个子空间的正交性 如果两个向量的点积为零,则两个向量正交: v ⋅ w v T w 0 \boldsymbol v\cdot\boldsymbol w\boldsymbol v^T\boldsymbol w0 v⋅wvTw0。本章着眼于正交子空间、正交基和正交矩阵。两个子空间的中的向量,一组基中的向…

【2024最新版】Java JDK安装配置全攻略:图文详解

目录 1. 引言2. 准备工作2.1 **确定操作系统**2.2 **检查系统要求**2.3 **下载JDK安装包**3. 安装步骤(以Windows系统为例)4. 配置环境变量4.1 jdk配置验证4.2 **配置JAVA_HOME环境变量**4.3 **配置Path环境变量**4.4 验证jdk是否配置成功 5. 结语 1. 引…

MySQL命名规范(自用)

MtySQL命名规范 基本通用规范 1.【推荐】关键字必须大写 所有关键字必须大写,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等 2.【强制】字段和建表必须写备注 COMMENT写备注 3.【强制】字母数字下划线 采用26个英…

CentOS 7、Debian、Ubuntu,这些是什么意思

CentOS 7、Debian、Ubuntu 都是基于 Linux 内核的操作系统,它们各自有不同的特性和用途。以下是对它们的详细解释: CentOS 7 CentOS(Community ENTerprise Operating System) 是一个基于开源的 Linux 发行版。CentOS 7 是 CentOS …

JavaScript的学习之旅之初始JS

目录 一、认识三个常见的js代码 二、js写入的第二种方式 三、js里内外部文件 一、认识三个常见的js代码 <script>//写入js位置的第一个地方// 控制浏览器弹出一个警告框alert("这是一个警告");// 在计算机页面输入一个内容&#xff08;写入body中&#xff…

支付系统的渠道路由架构设计

图解支付系统的渠道路由设计 渠道路由是引导流量路径的关键&#xff0c;其设计至关重要。本文详解渠道路由概念、必要性及形态&#xff0c;并分享一个高效实用的基于规则的渠道路由设计方案。 注&#xff1a;有些公司称渠道为通道&#xff0c;都是一个意思&#xff0c;为方便起…

(南京观海微电子)——DC-DC和LDO的原理及应用区别

LDO: 低压差线性稳压器&#xff0c;故名思意为线性的稳压器&#xff0c;仅能使用在降压应用中&#xff0c;也就是输出电压必需小于输入电压。 优点&#xff1a;稳定性好&#xff0c;负载响应快&#xff0c;输出纹波小。 缺点&#xff1a; 效率低&#xff0c;输入输出的电压…

Spring响应式编程之Reactor介绍

Reactor介绍 1、异步执行技术2、实现方式 响应式编程&#xff08;Reactive Programming&#xff09;是一种面向数据流和变化传播的编程范式。Java中的Reactor是一个用于响应式编程的库&#xff0c;它建立在Reactive Streams规范之上&#xff0c;旨在帮助开发者构建非阻塞的、高…

vue登陆密码加密,java后端解密

前端 安装crypto-js npm install crypto-js加密 //引入crypto-js import CryptoJS from crypto-js;/** ---密码加密 start--- */ const SECRET_KEY CryptoJS.enc.Utf8.parse("a15q8f6s5s1a2v3s"); const SECRET_IV CryptoJS.enc.Utf8.parse("a3c6g5h4v9sss…

项目-博客驿站测试报告

测试用例设计 功能测试 该部分主要围绕对于博客系统的增删改查, 文章通过性审核, 关注功能等进行测试, 还进行了其它一些探索性的测试. 以上是作者设计的全部用例. BUG发现: 问题1: 当多端同时操作同一篇文章BUG 环境: Windows11, Edge和Chrome浏览器 复现步骤: 1.先使用Edg…

《三国:谋定天下》成为了SLG游戏现象级的成功案例

原标题&#xff1a;《三国&#xff1a;谋定天下》引领SLG游戏新潮流&#xff0c;B站股价五个飙升了30% 易采游戏网6月23日&#xff1a;B站作为年轻人喜爱的文化社区和视频平台&#xff0c;再次用一款新的游戏证明了其在游戏发行领域的独到眼光与强大实力。最近大火的策略角色扮…