大数据技术学习——Oozie

举报
slx_share 发表于 2023/03/02 11:51:05 2023/03/02
【摘要】 Oozie是Hadoop工作流调度引擎。

1       一句话介绍

OozieHadoop工作流调度引擎。

2       基本概念

  • Action:一个计算任务,例如一个MR JobPig JobShell命令等。
  • WorkflowDAG中一系列Action的集合, 仅当前一个Action执行完后才能启动下一个。
  • Workflow Definition:对Workflow的程序化描述,由基于XMLhPDL语言定义DAG图上一系列ActionControl Flow节点(StartEnd)Workflow Job即一个Workflow Definition的可执行实例。

3       Oozie架构


  • WebUI:提供Workflow的监控功能。
  • WebApp(Oozie):即Oozie Server,接收来自客户端的请求并转发给Oozie-core执行。
  • DatabasePG数据库,用于存储作业信息。支持多个OozieServer实例对接同一个数据库。
  • Hadoop组件:底层执行工作流的各个组件。
  • Oozie-core:核心模块,主要用于实现工作流任务的分发、调度,形成对应指令,以及一些周边工作例如日志记录,功能审计等。Oozie支持三种工作流调度引擎:
    • Workflow Engine:工作流引擎以Action的方式运行工作流Job,用来执行 Map/ReducePigJob
    • Coordinator Engine:协调员引擎基于时间和数据触发器运行工作流,可以定时调度工作流,也可以在数据可用的时候触发工作流(例如输入数据准备好的情况)
    • Bundle Engine:管道引擎提供了更高级别的Oozie抽象,用户可以批量设置Coordinator应用,并且能够启动/停止/暂停/恢复/重新运行一组Coordinator应用。

三种引擎的关系如下:


4       Oozie基本原理

Oozie的工作流由workflow.xml定义,并在job.properties中定义相关参数。job.properties中会定义workflow.xml文件位置。

5       Oozie HA模式

OozieHAAcive-Active的模式,由ZK去判定任务分配给哪个后端OozieServerZK会存储任务的状态信息,当一个OozieServer出现故障时切换到另一个OozieServer上。

未启动HA模式存在多个OozieServer处理同一个任务的情况,造成任务状态不一致。

6       参考

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。