1.工作流调度工具:(azkaban 和oozie的对比)

工作流调度:一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序,java程序,mapreduce程序、hive脚本等,各任务单元之间存在时间先后及前后依赖关系。为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行。

调度工具性能对比:Apache Oozie,其配置工作流的过程是编写大量的XML配置,而且代码复杂度比较高,不易于二次开发。ooize相比azkaban是一个重量级的任务调度系统,功能全面,但配置使用也更复杂。如果可以不在意某些功能的缺失,轻量级调度器azkaban是很不错的候选对象。

Oozie和Azkaban的区别:

两者在功能方面大致相同,只是Oozie底层在提交Hadoop Spark作业是通过org.apache.hadoop的封装好的接口进行提交,而Azkaban可以直接操作shell语句。在安全性上可能Oozie会比较好。

工作流定义:Oozie是通过xml定义的而Azkaban为properties来定义。

部署过程:Oozie的部署相对困难些,同时它是从Yarn上拉任务日志。

Azkaban中如果有任务出现失败,只要进程有效执行,那么任务就算执行成功,这是BUG,但是Oozie能有效的检测任务的成功与失败。

操作工作流:Azkaban使用Web操作。Oozie支持Web,RestApi,Java API操作。

权限控制:Oozie基本无权限控制,Azkaban有较完善的权限控制,供用户对工作流读写执行操作。

Oozie的action主要运行在hadoop中而Azkaban的actions运行在Azkaban的服务器中。

记录workflow的状态:Azkaban将正在执行的workflow状态保存在内存中,Oozie将其保存在Mysql中。

出现失败的情况:Azkaban会丢失所有的工作流,但是Oozie可以在继续失败的工作流运行

2.调度工具介绍:(azkaban 和oozie)

Azkaban介绍

Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

它有如下功能特点:

1.Web用户界面

2.方便上传工作流

3.方便设置任务之间的关系

4.调度工作流

5.认证/授权(权限的工作)

6.能够杀死并重新启动工作流

7.模块化和可插拔的插件机制

8.项目工作区

9.工作流和任务的日志记录和审计

Oozie介绍

Oozie工作流是放置在控制依赖DAG(有向无环图 Direct

Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。我们会使用hPDL(一种XML流程定义语言)来描述这个图。

hPDL是一种很简洁的语言,只会使用少数流程控制和动作节点。控制节点会定义执行的流程,并包含工作流的起点和终点(start、end和fail节点)以及控制工作流执行路径的机制(decision、fork和join节点)。动作节点是一些机制,通过它们工作流会触发执行计算或者处理(如下图)

3.Azkaban和Oozie的基本操作

Azkaban:

Azkaban的工作流的创建特别方便,直接通过web界面创建工程,然后提交任务。(创建job的的文件必须是以.job的文件,并且上传的文件是以zip压缩包的形式进行上传)。

创建工作流的基本流程:

(1)创建工程,提交任务。

(2)任务提交完成之后bar.job和foo.job之间的依赖关系显示在web 界面当中。

(3)然后执行相应提交的任务。如下图两者的对应关系,可以直接执行单个的任务,也可以指定定时任务。可设置定时任务的执行时间。同时可以在定时执行完成之后做相应的提醒服务。

Oozie的基本操作:

操作准备;

job.properties

任务的一些配置文件,例如运行的HDFS以及JobTracker

(ResourceManager)等

Lib

存放执行的JAR包

Workflow.xml

工作流的依赖

****.jar

执行任务的jar包(自定义的文件)

在ooize的client端执行:

Oozie job

--oozie http://ip:11000/oozie -config ${job.properties} -run

执行之后,可以在web页面查询执行的结果。

4.在hue当中操作ooize的操作

在hue当中操作ooize的操作:

Hue是一个可快速开发和调试Hadoop生态系统各种应用的一个基于浏览器的图形化用户接口。

Hue可实现对oozie任务的开发,监控,和工作流协调调度 。使的oozie的操作变得更加的简单快捷。

(1)

创建工作流

运行完成产生相对应的xml文件和相对的日志信息:

添加到定制执行任务。指定定时任务。

azkaban 与 java任务_任务调度工具oozie和azkaban的对比相关推荐

  1. 常用调度工具Oozie、Azkaban、Airflow总结

    调度的意义: 调度时一个项目中必不可少的,项目中一般都会包括程序.hive脚本等多任务,我们一般把任务写到shell脚本中,最后通过调度工具把所有的任务串起来. airflow是一个可编程的工作流调度 ...

  2. re管理器java格式_正则表达式工具类——ReUtil

    前言 在文本处理中,正则表达式几乎是全能的,但是Java的正则表达式有时候处理一些事情还是有些繁琐,所以我封装了部分常用功能.就比如说我要匹配一段文本中的某些部分,我们需要这样做: Pattern p ...

  3. Azkaban任务调度工具简述

    小菜鸟的个人博客已经正式上线且对外开放啦- 博客访问地址:小菜鸟的大梦想 欢迎各位同学扫码关注本人公众号 ↓↓↓ 更多优质内容将 首发 公众号 Azkaban简述 Azkaban is a batch ...

  4. Java定时任务调度工具

    tags: 定时任务调度, title: Java定时任务调度工具 为什么要使用定时任务调度工具? 在最近的开发中,想开发一个"个人备忘录"的功能,实际上就是用户在指定某个时间点后 ...

  5. Java定时任务调度工具详解之Timer篇

    Java定时任务调度工具详解之Timer篇 https://segmentfault.com/a/1190000009542398

  6. 【Java定时任务调度工具】Timer

    笔记来源:IMOOC Java Timer 定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. Timer 定义 一种工具,线程用其安排以后在后台线程中执行的任务.可安排 ...

  7. Java定时任务调度工具之Timer

    Java定时任务调度工具详解之Timer 导航: Java定时任务调度工具详解之Timer 一. 概述 1.1 课程介绍 1.2 Timer简介 1.3 实战演练 二. timer定时函数的用法 2. ...

  8. 学习笔记:Java 并发编程⑥_并发工具_JUC

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 配套资料: ...

  9. java自带工具_深入了解Java JDK自带工具,包括javac、jar、jstack等,实用~

    在Java JDK的安用装目录bin下,有一些有非常实用的小工具,可用于分析JVM初始配置.内存溢出异常等问题,我们接下来将对些常用的工具进行一些说明. JDK小工具简介 在JDK的bin目录下面有一 ...

  10. java下載與安裝_[Java] 下載與安裝Java官方開發工具:NetBeans IDE

    [Java] 下載與安裝Java官方開發工具:NetBeans IDE 依個人經驗,當NetBeans用到一半,不知怎樣就當掉,或程式碼被Lock無法修改,通常是該版的NetBeans有Bug 建議下 ...

最新文章

  1. 1037 Magic Coupon
  2. 关于报错Incorrect username or password ( access token ) Authentication failed for ‘https://gitee.com
  3. 从RNA-seq结果到差异表达
  4. 布隆过滤器、一致性哈希算法总结
  5. Cryptocurrency Blockchain Internship Programme
  6. 移植libmxml到(arm-linux)
  7. js中push(),pop(),unshift(),shift()的用法小结
  8. iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 中间件用法
  9. python 指定时间内_python获取指定时间段内的随机不重复的时间点
  10. u盘安装linux6.5教程,u盘安装CentOS6.5
  11. Sublime Text 3.1 编辑管理工程(项目)
  12. 摘自韩寒博客《砰然心动》
  13. Python开源机器学习项目实战
  14. Allegro静态铜皮避让问题
  15. 什么是电脑pe系统?
  16. html5 canvas 一个漫天飞雪的效果
  17. 日本关西信息中心:LPWAN技术ZETA、LoRaWAN、SIGFOX测评分析
  18. 科学方法 + 目标管理 = 学好英语
  19. 研究生项目狗自救指南
  20. 有赞 java_响应式架构与 RxJava 在有赞零售的实践

热门文章

  1. Task.Yield()和Task.CompletedTask有什么不同
  2. 电脑播放视频显示运行服务器失败,电脑不能播放视频如何解决?
  3. MySQL 插入时,出现‘“Incorrect string value: ‘\\xF0\\x9F\\x98\\x85...‘ for column ‘commens‘ at row 3‘
  4. 钟表维修管理系统技术解析(六) 录入保修单
  5. linux下chmod +x的意思?为什么要进行chmod +x
  6. Qt编写地图综合应用12-路线查询
  7. java转Js原生,Java到JavaScript的转换
  8. 假如举行一场世界功夫大赛,这33位动作片明星谁可跻身前十?
  9. 计算机视觉将打造中国技术的“胜利者效应”
  10. Python 微信公众号文章爬取