命令行

$ 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

【原创】大数据基础之Oozie(2)使用的更多相关文章

  1. 【原创】大数据基础之Oozie vs Azkaban

    概括 Azkaban是一个非常轻量的开源调度框架,适合二次开发,但是无法直接用于生产环境,存在致命缺陷(比如AzkabanWebServer是单点,1年多时间没有修复),在一些情景下的行为简单粗暴(比 ...

  2. 【原创】大数据基础之Oozie(3)Oozie从4.3升级到5.0

    官方文档如下: http://oozie.apache.org/docs/5.0.0/AG_OozieUpgrade.html 这里写的比较简单,大概过程如下:1 下载5.0代码并编译:2 解压5.0 ...

  3. 【原创】大数据基础之Oozie(1)简介、源代码解析

    Oozie4.3 一 简介 1 官网 http://oozie.apache.org/ Apache Oozie Workflow Scheduler for Hadoop Hadoop生态的工作流调 ...

  4. 【原创】大数据基础之Oozie(4)oozie使用的spark版本升级

    oozie默认使用的spark是1.6,一直没有升级,如果想用最新的2.4,需要自己手工升级 首先看当前使用的spark版本的jar # oozie admin -oozie http://$oozi ...

  5. 【原创】大数据基础之Zookeeper(2)源代码解析

    核心枚举 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING; } zookeeper服务器状态:刚启动LOOKING,f ...

  6. 【原创】大数据基础之词频统计Word Count

    对文件进行词频统计,是一个大数据领域的hello word级别的应用,来看下实现有多简单: 1 Linux单机处理 egrep -o "\b[[:alpha:]]+\b" test ...

  7. 【原创】大数据基础之Impala(1)简介、安装、使用

    impala2.12 官方:http://impala.apache.org/ 一 简介 Apache Impala is the open source, native analytic datab ...

  8. 【原创】大数据基础之Benchmark(2)TPC-DS

    tpc 官方:http://www.tpc.org/ 一 简介 The TPC is a non-profit corporation founded to define transaction pr ...

  9. 大数据基础知识:分布式计算、服务器集群[zz]

    大数据中的数据量非常巨大,达到了PB级别.而且这庞大的数据之中,不仅仅包括结构化数据(如数字.符号等数据),还包括非结构化数据(如文本.图像.声音.视频等数据).这使得大数据的存储,管理和处理很难利用 ...

随机推荐

  1. webpack4配置详解之常用插件分享

    前言 继上一次webpack的基础配置分享之后,本次将分享一些工作中项目常用的配置插件.也会包含一些自己了解过觉得不错的插件,如有分析不到位的,欢迎纠错,嗯,这些东西文档都有,大佬可绕过. Wepac ...

  2. Leetcode 27. Remove Element(too easy)

    Given an array and a value, remove all instances of that value in-place and return the new length. D ...

  3. jQuery实现单击某个标签改变样式

    1.HTML代码,如下图: <p class="sc_member_recharge_form"> <span class="selected" ...

  4. Spring 简单使用IoC与DI——XML配置

    目录 Spring简介 导入jar包 Spring配置文件 Spring的IoC IoC简介 快速使用IoC Spring创建对象的三种方式 使用构造方法 使用实例工厂 使用静态静态工厂 Spring ...

  5. 数据库主键到底是用自增长(INT)好还是UUID好

    其实针对使用自增长还是UUID,大家讨论最多的就是速度和存储空间,这里我加入了安全性和分布式,具体对比如下: 使用自增长做主键的优点:1.很小的数据存储空间2.性能最好3.容易记忆使用自增长做主键的缺 ...

  6. AI佳作解读系列(一)——深度学习模型训练痛点及解决方法

    1 模型训练基本步骤 进入了AI领域,学习了手写字识别等几个demo后,就会发现深度学习模型训练是十分关键和有挑战性的.选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤 定义算法公 ...

  7. codeforces660C

    Hard Process CodeForces - 660C You are given an array a with n elements. Each element of a is either ...

  8. MT【319】分段递推数列

    已知数列$ x_n $满足$ 0<x_1<x_2<\pi $,且\begin{equation*} x_{n+1}= \left\{ \begin{aligned}x_n+\sin ...

  9. Springboot 3.需求携带参数的get请求

    还是拿来上节讲的代码: package com.course.server; import org.springframework.web.bind.annotation.*; import java ...

  10. Dubbo2.6.5入门——管控台的安装

    首先去下载管控台:GitHub 然后解压到本地,截止到目前2019-01-18,最新管控台基于Dubbo2.7.0-SNAPSHOT版本,但是2.7.0还没有正式发布,不过影响不大. Dubbo Op ...