IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oozie的基本使用 -> 正文阅读

[大数据]Oozie的基本使用

一、简介

  • Oozie是一个工作流引擎服务器,用于运行Hadoop Map/Reduce和Hive等任务工作流。
  • Oozie以action为基本任务单位,可以将多个action构成一个DAG图。
  • Oozie工作流通过HPDL(一种通过XML自定义处理的语言)来构造Oozie的工作流。

二、 Oozie四大组件服务

Oozie Workflow: 
	该组件用于定义和执行一个特定顺序的mapreduce、hive和pig作业。
	
Oozie Coordinator:
	该组件用于支持基于事件、系统资源存在性等条件的workflow的自动化执行。
	
Oozie Bundle:
	该引擎可以定义和执行"一束"应用,从而提供一个批量化的方法,
	将一组Coordinator应用程序一起进行管理。
	
Oozie服务器等级协定(Service Level Agreement, SLA):
	该组件支持workflow应用程序执行过程的记录跟踪。

组件关系:
	workflow是oozie中最基本的一个服务组件。定义具体的action动作。
	三大服务的的关系是:bundle包含多个coordinator,coordinator包含一个workflow。

三、Workflow介绍

  • workflow使用hadoop流程定义语言(Hadoop Process Defination Language, hPDL)来描述工作流,hPDL是类似xml语言的一种相当简洁的定义类语言,使用有限数目的流控制节点和动作节点来描述workflow。
  • workflow有两大类节点构成:工作流控制节点和动作节点。
 	工作流控制节点是workflow本身提供的一种控制workflow工作流执行路径的方法,不可以自定义。
 	动作节点是具体的操作方法,用户可以自定义。

  • Workflow中的所有异步操作(action)都需要在hadoop集群上以mapreduce作业的方式进行执行,这样充分利用了集群的优点。oozie通过两种方式来检查任务是否完成:
	回调:
	当一个任务和一个计算被启动后,会为任务提供一个回调url,
	该任务执行完成后,会执行回调来通知oozie。
	
	轮询:
	在任务执行回调失败的情况下,无论任何原因,都支持以轮询的
	方式进行查询。 
  • oozie提供这两种方式来控制任务,将资源密集型的任务放到服务节点之外,使oozie节约服务器资源,确保单个oozie服务器可以支持上千个作业。

四、 Workflow工作流生命周期

在这里插入图片描述

五、控制节点

在这里插入图片描述

六、action动作节点

在这里插入图片描述

七、Workflow扩展的action动作节点

在这里插入图片描述

八、 Workflow规则

  • workflow任务主要由job.properties、workflow.xml和其他动作需要的资源文件三部分组成,
  • 其中job.properties中定义workflow作业的配置信息,workflow.xml定义作业的执行工作流。workflow.xml文件是一个有定义规则的xml文件。
	workflow.xml配置规则详见:
		workflow中的文档workflow.template.xml
		
	job.properties配置参考:
		workflow中的文档job.template.properties

九、 Coordinator介绍

  • coordinator支持workflow过程的自动启动,常用于一些由时间/数据可用性来触发的、会多次调用的workflow过程的设计和执行。通过定义多个顺序运行的、前一个输出作为后一个输入的workflow。
  • coordinator也支持定义常规运行的(包括以不同时间间隔运行的)workflow作业之间的依赖。

十、Bundle介绍

  • Oozie Bundle是顶层抽象,允许将一组coordinator任务打包成为一个bundle任务。组成一个整体。
  • bundle的多个coordinator可以作为一个整体来进行控制,包括启动、停止、挂起、继续、重新执行等操作。
  • Bundle中不支持它的coordinator应用程序之间的显示依赖关系,如果需要定义这些依赖关系,可以在 coordinator中通过输入输出事件来指定依赖。

十一、案例

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-25 23:15:32  更:2022-09-25 23:16:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/26 19:48:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码