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 把各个不同类型的任务提交到具体的集群上执行

相关文章
|
2月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
Apache Fluss是由阿里巴巴与Ververica合作开发的Flink表存储引擎,旨在提供低延迟、高效率的实时数据存储与变更日志支持。其采用TabletServer与CoordinatorServer架构,结合RocksDB和列式存储,实现主键表与日志表的统一管理,并通过客户端抽象整合湖仓历史数据,弥补Paimon在实时场景下的性能短板。
499 22
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
|
2月前
|
Dubbo Java 应用服务中间件
Apache ShenYu 架构学习指南
Apache ShenYu 是一款高性能、插件化的微服务API网关,基于Spring WebFlux + Reactor 构建,支持多协议、动态配置与实时数据同步。本指南以通俗类比和实战路径,带你深入理解其架构设计、核心流程与源码实现,助力快速掌握并参与贡献。
426 13
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
350 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
2月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(三):湖流一体
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
450 25
Confluent 首席架构师万字剖析 Apache Fluss(三):湖流一体
|
2月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(二):核心架构
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
365 19
|
2月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
385 2
|
9月前
|
人工智能 运维 安全
AI 安全架构概述
AI 安全架构涵盖数据采集、模型训练、推理部署等阶段,确保安全性、隐私与合规。其核心组件包括数据层、模型层、推理层、应用层和运维层,针对数据安全威胁(如数据投毒)、模型窃取、对抗攻击及系统漏洞等风险,提出数据加密、对抗训练、联邦学习等防御策略,并强调开发前、开发中和部署后的最佳实践,以降低 AI 解决方案的安全风险。
982 13
|
8月前
|
SQL 分布式数据库 Apache
网易游戏 x Apache Doris:湖仓一体架构演进之路
网易游戏 Apache Doris 集群超 20 个 ,总节点数百个,已对接内部 200+ 项目,日均查询量超过 1500 万,总存储数据量 PB 级别。
719 3
网易游戏 x Apache Doris:湖仓一体架构演进之路
|
12月前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
1090 81

推荐镜像

更多