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

相关文章
|
1天前
|
存储 SQL 缓存
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
快手 OLAP 系统为内外多个场景提供数据服务,每天承载近 10 亿的查询请求。原有湖仓分离架构,由离线数据湖和实时数仓组成,面临存储冗余、资源抢占、治理复杂、查询调优难等问题。通过引入 Apache Doris 湖仓一体能力,替换了 Clickhouse ,升级为湖仓一体架构,并结合 Doris 的物化视图改写能力和自动物化服务,实现高性能的数据查询以及灵活的数据治理。
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
|
4月前
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
4月前
|
缓存 自然语言处理 前端开发
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
124 0
|
27天前
|
分布式计算 监控 Hadoop
详解 Apache ZooKeeper 和 Apache Oozie
【8月更文挑战第31天】
30 0
|
1月前
|
前端开发 Unix Linux
KVM 架构概述
【8月更文挑战第25天】KVM是基于硬件辅助虚拟化技术的虚拟机监控器,核心依赖于CPU的虚拟化支持如Intel VT和AMD-V。
|
1月前
|
存储 JavaScript 前端开发
Redux:概述和架构
【8月更文挑战第24天】
32 0
|
3月前
|
存储 监控 Linux
Docker技术架构概述
【6月更文挑战第29天】Docker采用CS架构,Client与Daemon交互,Compose管理多容器应用。
|
4月前
|
存储 运维 5G
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
数据是 5G 全连接工厂的核心要素,为支持全方位的数据收集、存储、分析等工作的高效进行,联通 5G 全连接工厂从典型的 Lambda 架构演进为 All in [Apache Doris](https://c.d4t.cn/vwDf8R) 的实时/离线一体化架构,并凭借 Doris 联邦查询能力打造统一查询网关,数据处理及查询链路大幅简化,为联通 5G 全连接工厂带来数据时效性、查询响应、存储成本、开发效率全方位的提升。
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
|
3月前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
3月前
|
SQL 存储 分布式计算
Apache Kylin 概述
Apache Kylin 概述

推荐镜像

更多