Apache Oozie- 概述架构介绍|学习笔记

简介: 快速学习 Apache Oozie- 概述架构介绍

开发者学堂课程【Oozie 知识精讲与实战演练 Apache Oozie- 概述架构介绍】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/716/detail/12781


Apache Oozie-- 概述-架构介绍


内容介绍

Oozie 概述

Oozie 的架构

小结

一、Oozie 概述

1.Oozie 是一个用来管理 Hadoop 生态圈 job 的工作流调度系统类似于 azkaban当任务中需要进行顺序执行周期性定时执行时就可以用 Oozie 满足工作流的配置和调度由 Cloudera 公司贡献给 ApacheOozie 是运行于 Java servlet 容器上的一个 java web 应用。

2.Oozie 的目的是按照 DAG (有向无环图有向指的是有方向从一个方向开始之后就会一直前进无环图指的是最终的方向不会回来绕了一圈回到节点这叫有环图Oozie 是无环图一度向前不会回到最初的位置)在有效无环图 DAG 中可以在各个节点配置相关的任务不同的类型不同的模块甚至满足条件执行不满足不执行从开始到结束经过流程定义下来就形成了所谓的工作流的流程调度一系列的 Map/Reduce 或者 Hive 等任务。

3.Oozie 工作流由 hPDL. (Hadoop Process Definition Language) 定义(这是一种XM 流程定义语言)。

图片1.png

4.适用场景包括:

需要按顺序进行一系列任务干一件事需要 abc 三步先 a 再 b 后 c可以用Oozie 进行完成需要并行处理的任务需要定时、周期触发的任务比如每天凌晨都要做这件事或者每周这时使用 Oozie。可视化作业流运行过程运行结果或异常的通报。

在企业中需要针对任务或者工作进行周期性执行定时执行调度或者按照顺序执行时就可以采用 Oozie 进行使用,Oozie 也是众多工作流软件中最著名的一个原因是它隶属于 apache 软件基金会得到众多商业公司的发展和维护


二、Oozie 的架构

1、Oozie Client

(1)Oozie 客户端开放三种客户端方式cli 命令行可以在cli敲一个相关的命令满足规则执行,java client 客户端就是 api通过 java 代码进行调度 Oozie 提交任务,rest api 提供 restful 接口这三种方式都相当于 Oozie 开放了一个接口用户可以在上面使用接口进行工作流程的提交启动运行等相应的操作

(2)提供命令行、java api、rest 等方式,对 Oozie 的工作流流程的提交、启动、运行等操作。

2、Oozie WebApp

即 Oozie Server, 本质是一个 java 应用。需要 web 容器运行,可以使用内置的web 容器,也可以使用外置的 web 容器,通常使用内置的进行运行本质就是用于接收用户提交的各种工作流程的相关信息最终保存在数据库中

3、Hadoop Cluster

(1)底层执行 Oozie 编排流程的各个 hadoop 生态圈组件。

(2)Oozie 工作的核心或者它依赖的核心是 hadoop 集群配置工作流调度比如执行 mr 程序,Oozie 本身不会进行 mr 程序的进展所以不管提交的程序是 hadoop 生态圈中什么样的命令,Oozie 都会启动没有reduce task 的 mr 程序launcher job 比较特殊只有 map task 没有 reduce task在只有 map task 的mr 程序中完成相关任务类型的提交先提交 mr 程序再提交 hive 程序spark程序等都要完成最终的执行

图片2.png

三、小结

简单概述用户通过某种方式配置工作流的流程进行提交启动这时启动提交的命令就会传递给 Oozie 的服务器它把相关的任务提交保存后启动没有 reduce task 的 mr 程序完成最后具体相关类型的启动因此在项目中最核心的一点是 launcher job,Oozie 并不是自己本身去提交相关类型的文件相关类型的任务而是启动 mr 程序进行提交在搭建Oozie 时要提前保证 hadoop 集群至少是 hadoop 软件安装成功这样才可以整合其他的软件。

1、Apache oozie

(1)是一个工作流调度软件本身属于 cloudera 后来贡献给了 apacheApache 软件基金会是全球最大的软件孵化基地也是它因为 Apache 才得到全球众多公司众多开发者维护功能变得强大

(2)oozie 目的根据一个定义 DAG (有向无环图)执行工作流程有向是指的是有目的有前进的方向无环是不会回到最初的起点从开始绕一圈回来是有环

(3)oozie 本身的配置是一种 xml 格式的配置文件各种标签配置非常复杂oozie 跟 hue 配合使用将会很方便

(4)oozie 特点顺序执行周期重复定时可视化追踪结果跟另一款软件azkaban 非常类似都是根据工作流任务调度

2、Apache Oozie

(1)Oozie client主要是提供种方式给用户进行工作流的提交启动 ( cli javaapi rest )

(2)Oozie server (本身是一个 java web 应用)内置 web 服务器提交任务的接收并且需要第三方数据库保存工作流调度它是一个核心

(3)Hadoop 生态圈

oozie 各种类型任务提交底层依赖于 mr 程序首先启动一个没有 reducetak 的mr通过这个 mr 把各个不同类型的任务提交到具体的集群上执行

相关文章
|
11天前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
136 1
|
7月前
|
人工智能 运维 安全
AI 安全架构概述
AI 安全架构涵盖数据采集、模型训练、推理部署等阶段,确保安全性、隐私与合规。其核心组件包括数据层、模型层、推理层、应用层和运维层,针对数据安全威胁(如数据投毒)、模型窃取、对抗攻击及系统漏洞等风险,提出数据加密、对抗训练、联邦学习等防御策略,并强调开发前、开发中和部署后的最佳实践,以降低 AI 解决方案的安全风险。
696 13
|
6月前
|
SQL 分布式数据库 Apache
网易游戏 x Apache Doris:湖仓一体架构演进之路
网易游戏 Apache Doris 集群超 20 个 ,总节点数百个,已对接内部 200+ 项目,日均查询量超过 1500 万,总存储数据量 PB 级别。
505 3
网易游戏 x Apache Doris:湖仓一体架构演进之路
|
10月前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
763 81
|
7月前
|
人工智能 前端开发 Java
DDD四层架构和MVC三层架构的个人理解和学习笔记
领域驱动设计(DDD)是一种以业务为核心的设计方法,与传统MVC架构不同,DDD将业务逻辑拆分为应用层和领域层,更关注业务领域而非数据库设计。其四层架构包括:Interface(接口层)、Application(应用层)、Domain(领域层)和Infrastructure(基础层)。各层职责分明,避免跨层调用,确保业务逻辑清晰。代码实现中,通过DTO、Entity、DO等对象的转换,结合ProtoBuf协议,完成请求与响应的处理流程。为提高复用性,实际项目中可增加Common层存放公共依赖。DDD强调从业务出发设计软件,适应复杂业务场景,是微服务架构的重要设计思想。
|
11月前
|
分布式计算 大数据 Apache
Apache Spark & Paimon Meetup · 北京站,助力 LakeHouse 架构生产落地
2024年11月15日13:30北京市朝阳区阿里中心-望京A座-05F,阿里云 EMR 技术团队联合 Apache Paimon 社区举办 Apache Spark & Paimon meetup,助力企业 LakeHouse 架构生产落地”线下 meetup,欢迎报名参加!
373 59
|
7月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
141 0
|
10月前
|
存储 消息中间件 缓存
独特架构打造新一代消息队列Apache Pulsar
Apache Pulsar 是一个开源的分布式消息流平台,由雅虎开发并于 2016 年开源,2018 年成为 Apache 顶级项目。Pulsar 通过独特的架构提供多租户、持久化存储和批处理等高级功能,支持高吞吐量、低延迟的消息传递。其核心组件包括 Broker、Apache BookKeeper 和 Apache ZooKeeper,分别负责消息处理、持久化存储和集群管理。
394 1
|
11月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

推荐镜像

更多