【Oozie】CDH集群的oozie手把手快速入门

article/2025/9/16 21:31:07

背景

在今天中午,本人快乐的干饭的时候,领导打电话过来询问oozie是个什么样的东西,能不能有个用例?在本人的理解里面,oozie主要是个调度工具。所以本篇为CDH集群的oozie的快速入门教程

环境准备

  • CDH集群一套
  • CDH集群中集成了ooziehue
    oozie和hue的组件
    因为oozie整合进hue中界面化了,不像那种命令行提交的方式,要写很多繁杂的xml文件,所以本文就开始揭露,如何快速入门oozie

新建一个调度任务

本文使用一个pyspark作为调度用例:
pyspark的代码如下,文件名为:pyspark_test.py,已经上传至hdfs/oozie/路径下了。

from pyspark.sql import SparkSession
spark = SparkSession.Builder().getOrCreate()
spark.sql("select 1 as temp").show()
spark.stop()

打开hue的界面:
在这里插入图片描述
在这里插入图片描述
出现下图所示的界面:
在这里插入图片描述
红框选中的地方是oozie支持的任务类型,然后我们选择一个sparkaction就是从左往右数第四个五角星的那个。用鼠标安按住拖入那个标记了Drop your action here的区域。
在这里插入图片描述
出现下图,这里面第一个Files是提供运行时所需要的文件,Jar/py name表示指定spark的任务jar包或者pyspark所需要的python脚本:
在这里插入图片描述
在上面我提到了,有一个pyspark_test.py文件存放在hdfs/oozie/路径下了,所以在Files这一栏中,路径名称是/oozie/pyspark_test.py Jar/py name里面填的是这个python脚本的名字pyspark_test.py
在这里插入图片描述
接着会出现如下界面,相关的注释也都在这里了,看不清的小伙伴可以右键点击图片,然后选择在新的标签页打开
在这里插入图片描述
填写完毕之后点击保存按钮,如下所示:
在这里插入图片描述
保存完毕之后,在保存的按钮的左侧会出现一个三角符号,代表可以启动任务了。
在这里插入图片描述
启动的时候会出现下图所示的样子,这句话代表,在提交作业前是否需要试运行一下,至于这个试运行会有什么效果我不知道。所以这边忽略了这个选项,直接点击Submit
在这里插入图片描述
任务如下,运行成功:
在这里插入图片描述
在这里插入图片描述
因为我这个集群是spark on yarn,所以我们可以进入到spark的管理界面上看到这个任务:
在这里插入图片描述
可以看到我们的任务MySpark确实已经提交成功了。同时出现了一个oozie的一个任务。据观察:当这个任务在oozie上启动的时候:
yarn上会出现一个oozie的调度任务,然后这个任务启动的过程中会将启动spark的任务。
至此,一个简单的oozie的调度任务就做完了。下面我会聊聊一些功能的入口在哪里:

Oozie的一些入口位置

设置周期调度

在这里插入图片描述
调度编辑器:
在这里插入图片描述
在这里插入图片描述
保存完毕之后,右上角有一个三角图标,记得点击一下,将任务流进入调度队列里面
在这里插入图片描述
这里我设置了任务每一分钟运行一次,但是这个选项的最小粒度是天,通过点击Options通过cron语法将将调度时间设置为每分钟执行一次,调度队列如下所示,出现以下 的图片才能算是真正的调度成功:
在这里插入图片描述

进入oozie的控制台

在这里插入图片描述
在这里插入图片描述

删除任务

在这里插入图片描述
左侧方框里面的东西,直接用鼠标右键点击,选择删除就好了。

查看任务的日志

在控制台的jobs当中选择一个任务,如下所示:
在这里插入图片描述
在这里插入图片描述
或者从workflow进去
在这里插入图片描述
在这里插入图片描述
也能查看到日志:
在这里插入图片描述

查看oozie的Xml配置文件

在这里插入图片描述
如下图所示:
在这里插入图片描述
这样就可以查看任务的底层配置的写法,更加清楚的了解任务的详细配置信息了。

关闭已经执行了的调度

如果有正在执行的调度的话,就会在这个Running下面,就会有一个栏目,我现在已经将这个任务取消掉了取消的方法就是先选中这个任务,然后再点击界面的右上角有一个kill的选项,点击一下就好了
下图是我取消了调度任务样子:
在这里插入图片描述

总结:

这里主要是记录了一下Oozie的快速入门,比较基础比较简单,各位大佬有什么更好的经验的话,请在评论区内分享一下,谢谢各位大佬了。


http://chatgpt.dhexx.cn/article/cclKpWAf.shtml

相关文章

Oozie5.2.1源码编译及安装部署

Oozie5.2.1源码编译 一、准备工作二、开始编译三、安装部署四、运行测试五、总结六、编译后得版本 说明: 官网下载最新版本:https://oozie.apache.org/依赖环境:CentOS7JDK1.8maven-3.6.3pig-0.17.0参考官网 一、准备工作 下载maven、安装、修改setting…

关于oozie

一、定义 1.oozie是一个管理apache hadoop作业的工作调度系统 2.oozie的workflow jobs是由actions组成的有向无环图(DAG) 3.oozie的coordinate jobs是由时间(频率)和数据可用性的重复的workflow jobs . 4.oozie 与hadoop生态圈的其他部分及车鞥在一起,支持多种类型…

任务调度之Oozie详解

利用shell脚本通过crontab进行定时执行,这样实现的话比较简单,但是随着多个job复杂度的提升,无论是协调工作还是任务监控都变得麻烦,我们选择使用oozie来对工作流进行调度监控。 1. Oozie的特点 Oozie是管理hadoop作业的调度系统…

Oozie简介

在Hadoop中执行的任务有时候需要把多个Map/Reduce作业连接到一起,这样才能够达到目的。[1]在Hadoop生态圈中,有一种相对比较新的组件叫做Oozie[2],它让我们可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务…

Oozie

文章目录 **一、** **Apache Oozie****1.** **Oozie概述****2.** **Oozie的架构****3.** **Oozie**基本原理**3.1.** **流程节点** **4.** **Oozie工作流类型****4.1.** **Work**Flow**4.2.** *…

工作流调度工具--Oozie

一、背景 一个完整的数据分析系统通常是由大量的任务单元组成,Shell脚本、Java程序、MapReduce程序、Hive脚本等等,各个任务单元之间存在时间先后及前后依赖关系。 为了很好的组织这样的复杂执行计划,需要一个工作流调度系统来调用执行。 简…

Oozie基础入门

前言: 因为工作需要用到oozie,但是网上的资料越看越迷茫,经过很大的努力,终于折腾清楚了,这里,做一个总结,帮助后来者更好地进行入门,当然,粗鄙之言,难免疏漏…

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

背景: 之前项目中的sqoop等离线数据迁移job都是利用shell脚本通过crontab进行定时执行,这样实现的话比较简单,但是随着多个job复杂度的提升,无论是协调工作还是任务监控都变得麻烦,我们选择使用oozie来对工作流进行调…

oozie详解

1、什么是Oozie Oozie是一种java web应用程序,它运行在java servlet容器中,并使用数据库来存储一下内容: ①工作流定义 ②当前运行的工作流实例,包括实例的状态和变量 Oozie工作流失放置在控制依赖DAG(有向无环图)中的一组动作&am…

大数据Hadoop之——任务调度器Oozie(Oozie环境部署)

文章目录 一、概述二、Oozie架构三、Oozie环境部署(Oozie与CDH集成)1)添加服务2)将 Oozie 服务添加到 CDH3)自定义角色分配4)数据库设置5)审核更改6)开始自动安装并自启 四、CDH的 H…

Java并发编程(一):多线程与并发原理回顾

今天来聊一聊经典的Java技术,并发编程。并发是程序的灵魂,一个优秀的Java程序一定会支持高并发,并且,并发编程也是面试环节中经常会问到的一个问题,那么今天我们以一道经典的Java面试题回顾一下Java的并发编程。废话不…

java并发编程的艺术和并发编程这一篇就够了

java并发编程的艺术(精华提炼) 通常我们在使用编发编程时,主要目的是为了程序能够更快的处理,但是并不是说更多的线程就一定能够让程序变得足够快,有时候太多的线程反而消耗了更多的资源,反而让程序执行得更缓慢 一.CPU的上下文切换 就算是单核CPU是能够处理多线程任务的,它只…

JAVA并发编程总结

一、基础知识 1.1 线程安全 当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。 CAP理论 原子性 我们把一个或者多个操作在CPU执行的过程中不被中断的特性称为原子性. 可见性 当一个线程修改了对象状态后&#xf…

Java并发:整理自《Java并发编程实战》和《Java并发编程的艺术》

声明:Java并发的内容是自己阅读《Java并发编程实战》和《Java并发编程的艺术》整理来的。 图文并茂请戳 思维导图下载请戳 目录 (1)基础概念 (2)线程 (3)锁 (4)同步器 (5)并发容器和框架 (6)Java并发工具类 (7)原子操作类 (8)Executor框架(执行机制) (9)…

Java并发编程的艺术-并发编程基础

Java从诞生开始就明智地选择了内置对多线程的支持,这使得Java语言相比同一时期的其他语言具有明显的优势。线程作为操作系统调度的最小单元,多个线程能够同时执行,这将显著提升程序性能,在多核环境中表现得更加明显。但是&#xf…

java并发编程(下篇)

java里的阻塞队列 ArrayBlockingQueue 数组结构组成的有界阻塞队列 LinkedBlockingQeque 链表结构的无界阻塞队列 PriorityBlockingQueue 支持优先级排序的无界阻塞队列 DelayQueue 使用优先级队列实现的无界阻塞队列 LinkedBlockingDeque 链表结构组成的双向队列 并发工具…

Java并发编程之美——第一章 Java并发编程基础

文章目录 Time 2021-12-26——Hireek什么是线程线程的等待和通知等待线程终止的join方法让线程睡眠的sleep方法让出CPU执行权的yield方法线程中断demo 线程上下文切换线程死锁什么是死锁如何避免死锁 用户线程与守护线程ThreadLocalintroduction,下文只阐述重要的se…

Java并发编程入门这一篇就够了(文章很长,但很好哦)

Java并发编程入门这一篇就够了 一、进程与线程1. 进程2. 线程3. 二者对比 二、并行与并发三、Java线程1. 创建和运行线程2. 线程运行原理3. 常见方法4. 常用方法详解及异同区分5. 两阶段终止模式(使得线程优雅的退出)6.主线程与守护线程7. 线程五种状态8…

Java并发编程之Java线程

文章目录 前言01、线程简介02、线程池03、线程间通信总结 前言 记录一下Java并发编程的知识点。有部分内容是借鉴《Java并发编程的艺术》这本书的。本次先介绍一下线程。 01、线程简介 进程和线程的区别 进程:当一个程序被运行,即把程序的代码从磁盘加载…

Java并发编程的艺术

1、并发编程的挑战 1、上下文切换 CPU通过给每个线程分配CPU时间片来实现多线程机制。时间片是CPU分配给各个线程的时间,这个时间非常短,一般是几十毫秒。 CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务…