• 【原创】大数据基础之Oozie(2)使用


    命令行

    $ oozie help

    1 导出环境变量

    $ export OOZIE_URL=http://oozie_server:11000/oozie

    否则都需要增加 -oozie 参数,比如

    $ oozie jobs -oozie http://oozie_server:11000/oozie

    2 查看全部流程

    $ oozie jobs

    3 操作一个流程

    $ oozie job
    Invalid sub-command: Missing required option: [-suspend suspend a job, -resume resume a job, -dryrun Dryrun a workflow (since 3.3.2) or coordinator (since 2.0) job without actually executing it, -submit submit a job, -log job log, -change change a coordinator or bundle job, -start start a job, -update Update coord definition and properties, -run run a job, -poll poll Oozie until a job reaches a terminal state or a timeout occurs, -kill kill a job (coordinator can mention -action or -date), -configcontent job configuration, -rerun rerun a job (coordinator requires -action or -date, bundle requires -coordinator or -date), -ignore change status of a coordinator job or action to IGNORED (-action required to ignore coord actions), -definition job definition, -info info of a job]

    3.1 查看一个流程的信息

    $ oozie job -info 0000003-190315230448327-oozie-oozi-W

    3.2 查看一个流程的日志

    $ oozie job -log 0000003-190315230448327-oozie-oozi-W

    3.3 查看一个流程的定义(xml)

    $ oozie job -definition 0000003-190315230448327-oozie-oozi-W

    3.4 查看一个流程的配置(properties)

    $ oozie job -configcontent 0000003-190315230448327-oozie-oozi-W

    示例流程

    1 流程定义

    执行系统命令

    $ cat test_sh.xml
    <workflow-app name="test_sh" xmlns="uri:oozie:workflow:0.5">
        <start to="test_sh_action"/>
        <kill name="Kill">
            <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
        </kill>
        <action name="test_sh_action">
            <shell xmlns="uri:oozie:shell-action:0.1">
                <job-tracker>${jobTracker}</job-tracker>
                <name-node>${nameNode}</name-node>
                <exec>/usr/bin/df -h</exec>
                <capture-output/>
            </shell>
            <ok to="End"/>
            <error to="Kill"/>
        </action>
        <end name="End"/>
    </workflow-app>

    注意:df必须用绝对路径/usr/bin/df,因为action执行时没有环境变量PATH,或者执行 source /etc/profile &&df -h ;

    执行sh脚本

    <workflow-app name="test_sh_wf" xmlns="uri:oozie:workflow:0.5">
        <start to="test_sh_action"/>
        <kill name="Kill">
            <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
        </kill>
        <action name="test_sh_action">
            <shell xmlns="uri:oozie:shell-action:0.1">
                <job-tracker>${jobTracker}</job-tracker>
                <name-node>${nameNode}</name-node>
                <exec>${script_file}</exec>
                <file>${script_file}</file>
                <capture-output/>
            </shell>
            <ok to="End"/>
            <error to="Kill"/>
        </action>
        <end name="End"/>
    </workflow-app>

    此时配置文件中需要定义

    script_file=test_sh.sh

    注意:test_sh.sh也要上传到hdfs上,与xml在一起,不能使用本地文件系统路径;

    2 校验

    $ oozie validate test_sh.xml

    3 上传到hdfs

    $ hdfs dfs -put test_sh.xml /user/oozie/wf/

    4 配置文件

    $ cat test_sh.properties
    nameNode=hdfs://namenode:9000
    jobTracker=resourcemanager:8032
    oozie.wf.application.path=/user/oozie/wf/test_sh.xml

    5 运行流程

    $ oozie job -config test_sh.properties -run

    6 其他

    kill、rerun等,rerun的时候需要指定两个参数之一,即跳过指定的节点或者重跑失败的节点;

    Missing configuration property [oozie.wf.rerun.skip.nodes OR oozie.wf.rerun.failnodes]

    $ oozie job -Doozie.wf.rerun.failnodes=true -rerun 0000000-190329232917986-oozie-oozi-W

  • 相关阅读:
    Error-Project facet Java version 1.8 is not supported
    如何运行Struts2官网最新Demo?
    Java计算两个字符串日期之间的天数差
    Mybatis XML配置
    使用本地缓存快还是使用redis缓存好?
    mysql数据统计技巧备忘录
    java中的全局变量如何实现?ThreadLocal~
    干货!一次kafka卡顿事故排查过程
    《Java 多线程编程核心技术》- 笔记
    《分布式服务框架原理与实践》- 总结一下吧
  • 原文地址:https://www.cnblogs.com/barneywill/p/10627931.html
Copyright © 2020-2023  润新知