Oozie 快速入门

【Oozie】CDH集群的oozie手把手快速入门 背景 在今天中午,本人快乐的干饭的时候,领导打电话过来询问oozie是个什么样的东西,能不能有个用例?在本人的理解里面,oozie主要是个调度工具。所以本篇为CDH集群的oozie的快速入门教程 环境准备 CDH集群一套 CDH集群中集成了oozie和hue 因为oozie整合进hue中界面化了,不像那种命令行提交的方式,要写很多繁杂的xml文件,所以本文就开始揭露,如何快速入门oozie 新建一个调度任务 本文使用一个pyspark作为调度用例: pyspark的代码如下,文件名为:pyspark_ 阅读详情

设想一下,当你的系统引入了spark或者hadoop以后,基于Spark和Hadoop已经做了一些任务,比如一连串的Map Reduce任务,但是他们之间彼此右前后依赖的顺序,因此你必须要等一个任务执行成功后,再手动执行第二个任务。是不是很烦! 这个时候Oozie(驯象人,典故来自评论一楼)就派上用场了,它可以把多个任务组成一个工作流,自动完成任务的调用。

简介

Oozie是一个基于工作流引擎的服务器,可以在上面运行Hadoop的Map Reduce和Pig任务。它其实就是一个运行在Java Servlet容器(比如Tomcat)中的Javas Web应用。

对于Oozie来说,工作流就是一系列的操作(比如Hadoop的MR,以及Pig的任务),这些操作通过有向无环图的机制控制。这种控制依赖是说,一个操作的输入依赖于前一个任务的输出,只有前一个操作完全完成后,才能开始第二个。

Oozie工作流通过hPDL定义(hPDL是一种XML的流程定义语言)。工作流操作通过远程系统启动任务。当任务完成后,远程系统会进行回调来通知任务已经结束,然后再开始下一个操作。

Oozie工作流包含控制流节点以及操作节点

控制流节点定义了工作流的开始和结束(start,end以及fail的节点),并控制工作流执行路径(decision,fork,join节点)。操作节点是工作流触发计算\处理任务的执行,Oozie支持不同的任务类型——hadoop map reduce任务,hdfs,Pig,SSH,eMail,Oozie子工作流等等。Oozie可以自定义扩展任务类型。

Oozie工作流可以参数化的方式执行(使用变量${inputDir}定义)。当提交工作流任务的时候就需要同时提供参数。如果参数合适的话(使用不同的目录)就可以定义并行的工作流任务。

总结来说

  • Oozie是管理Hadoop作业的工作流调度系统
  • Oozie的工作流是一系列的操作图
  • Oozie协调作业是通过时间(频率)以及有效数据触发当前的Oozie工作流程
  • Oozie是针对Hadoop开发的开源工作流引擎,专门针对大规模复杂工作流程和数据管道设计
  • Oozie围绕两个核心:工作流和协调器,前者定义任务的拓扑和执行逻辑,后者负责工作流的依赖和触发。

WordCount工作流例子

流程图

hPDL流程的定义:

<workflow-app name='wordcount-wf' xmlns="uri:oozie:workflow:0.1">
    <start to='wordcount'/>
    <action name='wordcount'>
        <map-reduce>
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                <property>
                    <name>mapred.mapper.class</name>
                    <value>org.myorg.WordCount.Map</value>
                </property>
                <property>
                    <name>mapred.reducer.class</name>
                    <value>org.myorg.WordCount.Reduce</value>
                </property>
                <property>
                    <name>mapred.input.dir</name>
                    <value>${inputDir}</value>
                </property>
                <property>
                    <name>mapred.output.dir</name>
                    <value>${outputDir}</value>
                </property>
            </configuration>
        </map-reduce>
        <ok to='end'/>
        <error to='end'/>
    </action>
    <kill name='kill'>
        <message>Something went wrong: ${wf:errorCode('wordcount')}</message>
    </kill/>
    <end name='end'/>
</workflow-app>
ADS8681数据手册没讲透的细节:SPI时序、量程切换与电压换算的避坑指南 本文深入解析ADS8681数据手册未提及的SPI时序优化、量程切换陷阱与电压校准技巧。针对树莓派5与ADS8681的SPI通信问题,提供CPOL/CPHA配置建议;详解量程切换的位操作玄机与寄存器配置流程;并提出三步校准法应对非理想供电环境,帮助开发者提升ADC测量精度。 阅读详情

相关推荐

3-RRR并联机器人结构详解:从运动学到奇异点分析(附MATLAB仿真代码)

本文详细解析了3-RRR并联机器人的结构设计、运动学建模及奇异点分析,并提供了MATLAB仿真代码。通过对称性设计和可分析性,3-RRR结构成为教学与研究的理想对象。文章从基础杆件参数设置到奇异位形的实时捕捉,深入探讨了机构运动的数学本质,并分享了仿真调试中的实用技巧,助力工业自动化和精密控制应用。

sunny的博客 370

全流程调度-Oozie的介绍和使用

workflow 是一组 actions 集合(例如Hadoop map/reduce作业,pig作业),它被安排在一个控制依赖项DAG(Direct Acyclic Graph)中。“控制依赖”从一个action到另一个action意味着第二个action不能运行,直到第一个action完成。Oozie Workflow 定义是用 hPDL 编写的(类似于JBOSS JBPM jPDL的XML过程定义语言)。Oozie Workflow actions 在远程系统(如Hadoop、Pig)中启动工作。

迷雾总会解 3196

【电磁场与电磁波课程设计】基于HFSS的双频微带天线仿真及设计

第五代移动通信技术(5G)的商用已经近在眼前,作为移动通信中最为重要的功能组件,面向5G通信应用的手机天线与基站天线的技术研究与设计成为近年来的热点。随着移动通信中“跳频”“扩频”等通信技术发展,为了满足与多个终端的通信要求,实现多系统共用和收发共用等功能,这就要求天线在不同频段下工作。根据国家工信部的最新规定,5G移动通信的中频段被划定在3.3 GHz-3.5 GHz及4.8 GHz-5.0 GH,面向5G移动通信的天线应具有高增益、小型化、宽频段及高隔离度等技术特征,以满足5G通信的高传输速率、波束智能

weixin_44450575的博客 1万+

大数据调度工具oozie详细介绍

背景: 之前项目中的sqoop等离线数据迁移job都是利用shell脚本通过crontab进行定时执行,这样实现的话比较简单,但是随着多个job复杂度的提升,无论是协调工作还是任务监控都变得麻烦,我们选择使用oozie来对工作流进行调度监控。在此介绍一下oozie~ 注:我的 Oozie server version:[4.1.0 - CDH 5.13.0] 一、官网介绍 首先看官网首...

Abysscarry的博客 2万+

DeepSeek Harness实战:从零构建插件化AI Agent

AI Agent开发正从硬编码走向框架化组织,插件化架构成为提升工程效率的关键。在构建可复用、可扩展的智能体系统时,开发团队需要一套能够统一管理模型调用、工具注册与上下文组装的基础设施。DeepSeek Harness作为面向Agent工程的插件化框架,通过Harness、DeepAgent与Skill三个核心抽象,将模型、工具与技能解耦为可插拔单元,让开发者无需重复造轮子即可快速搭建具备工具调用能力的智能体。本文从环境配置到Skill插件开发,完整演示如何基于DeepSeek模型构建一个可运行的Agent

weixin_34279184的博客 453

电赛控制组入门到实战:从电路板到PID算法的完整路径

本文详细介绍了电赛控制组从电路板制作到PID算法实战的完整学习路径。涵盖嘉立创电路设计、Keil5开发环境搭建、STM32F103C8T6核心板外设应用,重点解析PID算法在电机速度环与位置环中的调试技巧,并探讨OpenMV视觉模块与主控制器的协同工作,为电赛参赛者提供系统化的实战指南。

oauth7security的博客 747

大数据Oozie任务调度

目录1 Oozie 概述2 Oozie 的架构3 Oozie 基本原理3.1 流程节点4 Oozie 工作流类型4.1 WorkFlow4.2 Coordinator4.3 Bundle5 Oozie 和 Hue 整合5.1 修改 hue 配置文件 hue.ini5.2 启动 hue 、oozie5.3 Hue 集成 Oozie5.3.1 使用 hue 配置 oozie 调度5.3.2 利用 hue 调度 shell 脚本5.3.3 利用 hue 调度 hive 脚本5.3.4 利用 hue 调度 MapR

赵广陆 1442

3.1 计算机视觉的发展和卷积神经网络概要(百度架构师手把手带你零基础实践深度学习原版笔记系列)

3.1 计算机视觉的发展和卷积神经网络(百度架构师手把手带你零基础实践深度学习原版笔记系列) 概要 计算机视觉作为一门让机器学会如何去“看”的科学学科,具体的说,就是让机器去识别摄像机拍摄的图片或视频中的物体,检测出物体所在的位置,并对目标物体进行跟踪,从而理解并描述出图片或视频里的场景和故事,以此来模拟人脑视觉系统。因此,计算机视觉也通常被叫做机器视觉,其目的是建立能够从图像或者视频中“感知”信息的人工系统。 计算机视觉技术经过几十年的发展,已经在交通(车牌识别、道路违章抓拍)、安防(人脸闸机.

aiAI 692

oozie详解

1、什么是Oozie Oozie是一种java web应用程序,它运行在java servlet容器中,并使用数据库来存储一下内容:       ①工作流定义       ②当前运行的工作流实例,包括实例的状态和变量 Oozie工作流失放置在控制依赖DAG(有向无环图)中的一组动作(例如:hadoop的Map/Reduce作业、pig作业等),其中指定了动作执行的顺序。我们会使用hPD...

crazzy_lp的博客 1964

MATLAB与STK互联23:卫星对象操作(14)—仿真分析案例1,建立8个地面站,分析对卫星的可见性

学习到这里,我们有必要做个仿真分析案例,把之前我们学习的零散知识点串起来,看一下在真实的分析中怎么应用。 分析要求:建立8个地面站,分析每个地面站对某个轨道高度500km、倾角60°圆轨道的卫星,1天内的可见次数、可见弧长以及可见弧段间隔列表。 基本约束:地面站仰角8°~90°,作用距离<2000km,太阳矢量与地面站到卫星视线夹角不小于15°,可见弧段应大于30s。地面站站址可随机生成,但要求在南北纬50°范围内。 下面上代码: uiap = actxserver(‘STK11.application’)

ltylty001的博客 7494

STM32F4实战:手把手教你实现USB OTG双模式切换(Host/Slave)

本文详细介绍了如何在STM32F4上实现USB OTG双模式切换(Host/Slave),包括硬件架构解析、软件实现机制、主机模式下的U盘读写以及从机模式下的自定义设备开发。通过实战案例和优化技巧,帮助开发者快速掌握USB双角色功能,提升嵌入式系统开发的灵活性和效率。

u9v0w的博客 730

【大数据生态】Oozie 入门学习

目录 Oozie是什么 Oozie 的架构 Oozie 基本原理 概括的知识框架 Oozie 调度 shell 脚本 Oozie 定时调度 Oozie是什么 Oozie 是一个用来管理 Hadoop 生态圈 job 的工作流调度系统。由 Cloudera 公司贡献给 Apache。Oozie 是运行于 Java servlet 容器...

康师傅没有眼泪 1149

音频——DAC 性能测试

codec DAC 性能测试方法

tyustli 2235

Oozie快速入门系列(1) | Oozie的简单介绍及部署

  此篇为大家带来的是Oozie的简单介绍及部署。 此部分所需jar包等博主已经打包上传到百度云如有需要,请自行下载 链接:https://pan.baidu.com/s/1H3BvKEftWKitjDf2EhX44g 提取码:96a7 目录一. 什么是Oozie二. Oozie的功能模块介绍2.1 模块2.2 常用节点三. Oozie的部署3.1 部署Hadoop(CDH版本)1. 上传及解压缩2. 修改Hadoop配置3. 一. 什么是Oozie   Oozie英文翻译为:驯象人。一个基于工作流

不温卜火 5980

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

动态可搜索对称加密(DSSE)技术实现与优化实践

动态可搜索对称加密(DSSE)是密码学领域的前沿技术,它允许在加密数据上执行搜索操作而不泄露原始信息。该技术基于密码学原语构建,通过盲存储等数据结构实现数据隐私保护,同时支持动态更新操作。在云存储和大数据场景下,DSSE能有效解决数据外包时的隐私保护问题,其核心价值在于平衡了安全性、效率和功能性。实现过程中需特别注意前向安全、泄露遏制等关键机制,并可通过批处理更新、缓存优化等手段提升性能。本文以Python实现为例,详细解析了加密布隆过滤器设计、密钥演进函数等核心模块,为密码学论文复现提供了实践参考。

weixin_34023982的博客 430

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Oozie快速入门系列(2) | 一文带你快速了解Oozie的使用(超详细!!!)

  此篇为大家带来的是Oozie的使用。 目录一. Oozie调度shell脚本二. Oozie逻辑调度执行多个Job 一. Oozie调度shell脚本   目标:使用Oozie调度Shell脚本   大体过程如下: 1. 创建工作目录 [bigdata@hadoop002 oozie-4.0.0-cdh5.3.6]$ mkdir oozie-apps/ [bigdata@hadoop002 oozie-apps]$ mkdir shell [bigdata@hadoop002 oozie-ap

不温卜火 6616

Oozie简介与快速入门

Oozie是一个基于工作流引擎的开源框架,是由Cloudera公司贡献给Apache的,它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。 Oozie工作流定义,同JBoss jBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的...

weixin_33972649的博客 226

CDH调试oozie报错To enable Oozie web console install the Ext JS library.

今天调试CDH的oozie,安装好服务后,打开web管理界面: 页面提示: Oozie web console is disabled. To enable Oozie web console install the Ext JS library. Refer to Oozie Quick Start documentation for details. 缺少Ext

TURING.DT 4478

Issue 5:Hadoop博客系列转载

Alex 的 Hadoop 菜鸟教程: 第1课 hadoop体系介绍 Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式) Alex 的 Hadoop 菜鸟教程: 第3课 Hadoop 安装教程 - 非HA方式 (一台服务器) Alex 的 Hadoop 菜鸟教程: 第4课 Hadoop 安装教程 - HA方式 (2台服务器...

dongjian0994的博客 155
上一篇: RPC服务和HTTP服务对比
下一篇: Secondary NameNode:它究竟有什么作用?
程序员椰子橙
博客等级 码龄9年 46粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值