【Hadoop离线基础总结】oozie定时任务设置

编程入门 行业动态 更新时间:2024-10-10 03:22:47

【Hadoop<a href=https://www.elefans.com/category/jswz/34/1767604.html style=离线基础总结】oozie定时任务设置"/>

【Hadoop离线基础总结】oozie定时任务设置

目录

      • 简介
          • 概述
      • oozie定时任务设置
          • 1.拷贝定时任务的调度模板
          • 拷贝hello.sh脚本
          • 3.修改配置文件
          • 4.上传到hdfs对应路径
          • 5.运行定时任务


简介

  • 概述
    在oozie当中,主要是通过Coordinator 来实现任务的定时调度,与workflow类似。Coordinator 这个模块也是主要通过xml来进行配置即可
    Coordinator 的调度主要有两种实现方式:
    第一种: 基于时间的定时任务调度,oozie基于时间的调度主要需要指定三个参数,第一个起始时间,第二个结束时间,第三个调度频率。
    第二种: 基于数据的任务调度,只有在有了数据才会去出发执行。

oozie定时任务设置

  • 1.拷贝定时任务的调度模板
    cd /export/servers/oozie-4.1.0-cdh5.14.0
    cp -r examples/apps/cron oozie_works/cron-job
    
  • 拷贝hello.sh脚本
    cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works
    cp shell/hello.sh  cron-job/
    
  • 3.修改配置文件

    修改job.properties

    cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/cron-job
    vim job.properties
    
    nameNode=hdfs://node01:8020
    jobTracker=node01:8032
    queueName=default
    examplesRoot=oozie_worksoozie.coord.application.path=${nameNode}/user/${user.name}/${examplesRoot}/cron-job/coordinator.xml
    start=2018-08-22T19:20+0800
    end=2019-08-22T19:20+0800
    EXEC=hello.sh
    workflowAppUri=${nameNode}/user/${user.name}/${examplesRoot}/cron-job/workflow.xml
    

    修改coordinator.xml
    vim coordinator.xml

    <!--oozie的frequency 可以支持很多表达式,其中可以通过定时每分,或者每小时,或者每天,或者每月进行执行,也支持可以通过与linux的crontab表达式类似的写法来进行定时任务的执行例如frequency 也可以写成以下方式frequency="10 9 * * *"  每天上午的09:10:00开始执行任务frequency="0 1 * * *"  每天凌晨的01:00开始执行任务-->
    <coordinator-app name="cron-job" frequency="${coord:minutes(1)}" start="${start}" end="${end}" timezone="GMT+0800"xmlns="uri:oozie:coordinator:0.4"><action><workflow><app-path>${workflowAppUri}</app-path><configuration><property><name>jobTracker</name><value>${jobTracker}</value></property><property><name>nameNode</name><value>${nameNode}</value></property><property><name>queueName</name><value>${queueName}</value></property></configuration></workflow></action>
    </coordinator-app>修改workflow.xml
    vim workflow.xml
    <workflow-app xmlns="uri:oozie:workflow:0.5" name="one-op-wf"><start to="action1"/><action name="action1"><shell xmlns="uri:oozie:shell-action:0.2"><job-tracker>${jobTracker}</job-tracker><name-node>${nameNode}</name-node><configuration><property><name>mapred.job.queue.name</name><value>${queueName}</value></property></configuration><exec>${EXEC}</exec><!-- <argument>my_output=Hello Oozie</argument> --><file>/user/root/oozie_works/cron-job/${EXEC}#${EXEC}</file><capture-output/></shell><ok to="end"/><error to="end"/>
    </action><end name="end"/>
    </workflow-app>
    
  • 4.上传到hdfs对应路径
    cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works
    hdfs dfs -put cron-job/ /user/root/oozie_works/
    
  • 5.运行定时任务
    cd /export/servers/oozie-4.1.0-cdh5.14.0
    bin/oozie job -oozie http://node03:11000/oozie -config oozie_works/cron-job/job.properties -run
    

更多推荐

【Hadoop离线基础总结】oozie定时任务设置

本文发布于:2024-02-16 18:18:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1691028.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:离线   基础   Hadoop   oozie

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!