Apache Oozie笔记

Apache Oozie是一个工作流调度系统,用于管理Hadoop生态中的工作流程。它以XML格式配置,能与Hue配合使用,支持顺序执行、周期性任务、可视化和结果追踪。Oozie包含Client和Server,其工作流节点包括控制节点(如start、end、fork、join、kill)和动作节点(如MR、Spark、Shell、Hive)。安装涉及配置、依赖解决和数据库初始化。Oozie的实战应用中,需关注资源配置、任务提交及定时调度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache Oozie

  • Apache oozie

    • 是一个工作流调度软件 本身属于cloudera 后来贡献给了apache
    • oozie目的根据一个定义DAG(有向无环图)执行工作流程
    • oozie本身的配置是一种xml格式的配置文件 oozie跟hue配合使用将会很方便
    • oozie特点:顺序执行 周期重复定时 可视化 追踪结果
  • Apache Oozie

    • Oozie client:主要是提供一种方式给用户进行工作流的提交启动(cli javaapi rest)

    • Oozie server(本身是一个java web应用)

    • Hadoop生态圈

      • oozie各种类型任务提交底层依赖于mr程序 首先启动一个没有reducetak的mr 通过这个mr

        把各个不同类型的任务提交到具体的集群上执行


  • oozie 流程节点

    • oozie 核心配置是在一个workflow.xml文件 文件中顶一个工作流的执行流程规则

    • 类型

      • control node 控制工作流的执行路径:start end fork join kill
      • action node 具体的任务类型:mr spark shell java hive

      上述两种类型结合起来 就可以描绘出一个工作流的DAG图。

  • oozie工作流类型

    • workflow 基本类型的工作流 只会按照定义顺序执行 无定时触发
    • coordinator 定时触发任务 当满足执行时间 或者输入数据可用 触发workflow执行
    • bundle 批处理任务 一次提交多个coordinator

  • Apache oozie 安装

    • 版本问题:Apache官方提供的是源码包 需要自己结合hadoop生态圈软件环境进行编译 兼容性问题特别难以处理 因此可以使用第三方商业公司编译好 Cloudera(CDH)

    • 修改hadoop的相关配置 启动服务

      • httpfs
      • jobhistory

      配置修改之后需要重启hadoop集群

    • 解压oozie安装包 拷贝相关依赖的软件

    • 修改oozie-site.xml 主要是mysql相关信息 hadoop配置文件

    • 初始化mysql 创建库表

    • 生成执行需要的war包


  • oozie 实战

    • 解压出官方自带的案例 里面封装了各种类型任务的配置模板
    • 优化更新hadoop环境资源配置
      • yarn资源相关的 申请资源的上下限 yarn调度策略(fair 多线程执行模式)
      • mapreduce申请资源相关的 maptask reducetask申请内存的大小
      • scp给其他机器 重启集群 (hadoop ) oozie
  • oozie 调度流程

    • 根据官方自带的示例编写配置文件

      job.properties workflow.xml

    • 把任务配置信息连同依赖的资源一起上传到hdfs指定的路径 这个路径在配置中有

    • 利用oozie的命令进行提交

  • oozie调度hive脚本

    • 首先必须保证hiveserve2服务是启动正常的,如果配置metastore服务,要首先启动metastore

      nohup /export/servers/hive/bin/hive --service metastore &
      nohup /export/servers/hive/bin/hive --service hiveserver2 &
      
  • oozie调度mapreduce程序

    • 需要在workflow.xml中开启使用新版的 api hadoop2.x
  • oozie调度串联任务

    通过action节点 成功失败控制执行的流程

    如果上一个action成功 跳转到下一个action 这样就可以变成首尾相连的串联任务

  • oozie基于时间的定时

    主要是需要coordinator来配合workflow进行周期性的触发执行

    需要注意时间的格式问题 时区的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值