【原创】大数据基础之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
【原创】大数据基础之Oozie(2)使用的更多相关文章
- 【原创】大数据基础之Oozie vs Azkaban
概括 Azkaban是一个非常轻量的开源调度框架,适合二次开发,但是无法直接用于生产环境,存在致命缺陷(比如AzkabanWebServer是单点,1年多时间没有修复),在一些情景下的行为简单粗暴(比 ...
- 【原创】大数据基础之Oozie(3)Oozie从4.3升级到5.0
官方文档如下: http://oozie.apache.org/docs/5.0.0/AG_OozieUpgrade.html 这里写的比较简单,大概过程如下:1 下载5.0代码并编译:2 解压5.0 ...
- 【原创】大数据基础之Oozie(1)简介、源代码解析
Oozie4.3 一 简介 1 官网 http://oozie.apache.org/ Apache Oozie Workflow Scheduler for Hadoop Hadoop生态的工作流调 ...
- 【原创】大数据基础之Oozie(4)oozie使用的spark版本升级
oozie默认使用的spark是1.6,一直没有升级,如果想用最新的2.4,需要自己手工升级 首先看当前使用的spark版本的jar # oozie admin -oozie http://$oozi ...
- 【原创】大数据基础之Zookeeper(2)源代码解析
核心枚举 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING; } zookeeper服务器状态:刚启动LOOKING,f ...
- 【原创】大数据基础之词频统计Word Count
对文件进行词频统计,是一个大数据领域的hello word级别的应用,来看下实现有多简单: 1 Linux单机处理 egrep -o "\b[[:alpha:]]+\b" test ...
- 【原创】大数据基础之Impala(1)简介、安装、使用
impala2.12 官方:http://impala.apache.org/ 一 简介 Apache Impala is the open source, native analytic datab ...
- 【原创】大数据基础之Benchmark(2)TPC-DS
tpc 官方:http://www.tpc.org/ 一 简介 The TPC is a non-profit corporation founded to define transaction pr ...
- 大数据基础知识:分布式计算、服务器集群[zz]
大数据中的数据量非常巨大,达到了PB级别.而且这庞大的数据之中,不仅仅包括结构化数据(如数字.符号等数据),还包括非结构化数据(如文本.图像.声音.视频等数据).这使得大数据的存储,管理和处理很难利用 ...
随机推荐
- flask token认证
在前后端分离的项目中,我们现在多半会使用token认证机制实现登录权限验证. token通常会给一个过期时间,这样即使token泄露了,危害期也只是在有效时间内,超过这个有效时间,token过期了,就 ...
- Quick Sort(Java)
public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextI ...
- asp.net core源码地址
https://github.com/dotnet/corefx 这个是.net core的 开源项目地址 https://github.com/aspnet 这个下面是asp.net core 框架 ...
- 谈谈java做登录那些事(一 分析)
前言: 最近要给自己的网站模板写一个登陆功能,其他功能已经写了一半了,我觉得可以写个登陆整合一下了. 借鉴博客:https://www.cnblogs.com/moyand/p/9047978.htm ...
- 【php-fpm】启动PHP报错ERROR: [pool www] cannot get uid for user 'apache'
将@php_fpm_user@改为当前系统的用户名apache, 然后重新启动就ok了 注意:创建apache用户及用户组,上述命令换deamon为apache
- Python——设计模式——单例模式
一个类始终只有一个实例 当你第一次实例化这个类的时候,就创建一个实例化得对象 当你之后再来实例化的时候,就用之前创建的对象 class A: __instance = False def __ini_ ...
- Magento CURD
创建数据库表 创建模型-CRUD模型Model是MVC架构的一条巨大路径.在Magento 2 CRUD中,模型具有许多不同的功能,例如管理数据,安装或升级模块.在本教程中,我只讨论数据管理CRUD. ...
- 题解:[APIO/CTSC 2007]数据备份
你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家中尽享计算机游戏的乐趣.已 ...
- 扩展CRT +扩展LUCAS
再次感谢zyf2000超强的讲解. 扩展CRT其实就是爆推式子,然后一路合并,只是最后一个式子上我有点小疑惑,但整体还算好理解. #include<iostream> #include&l ...
- 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建一:建立MAVEN Web项目
一:创建maven web项目er