什么是Azkaban - 流式调度框架
为什么要有Azkaban?
在数据业务场景,对于数据的处理往往是分阶段处理,而不同的阶段可能采用了不同的技术框架去完成这个业务需求,且可能在不同的阶段要干不同的事。
炒饭(锅) à 吃饭(碗) à 筷子(动手)
要吃饭就要等炒饭先用锅炒好,要用筷子动手吃饭就要等碗里装了饭,这是一个流水线式的过程,如果用设定时间的方式,到了什么时候就拿完去装饭,但如果今天兼职的人特别多,那么炒的饭必然就多了,时间也长了,但是设定时间到了,还没炒好,可是有一堆人挤在厨房喊要饭,问题就出现了。
于是有的人会想,如果有一个监督人帮我去这个监控、通知、控制好整个流程,那样多好啊,厨房就不会给天天催了,也不会发生拥挤的情况。
小结:一个完整的数据分析系统通常是由大量的任务单元组成,Shell脚本、Java程序、MapReduce程序、Hive脚本等等,各个任务单元之间存在时间先后及前后依赖关系。
为了很好的组织这样的复杂执行计划,需要一个工作流调度系统来调用执行。
简单的工作流调度:Liunx的crontab来定义
复杂的工作流调度:Oozie、Azakaban等。。。
主流几款工作流调度框架
特性 |
Hamake |
Oozie |
Azkaban |
Cascading |
工作流描述语言 |
XML |
XML (xPDL based) |
text file with key/value pairs |
Java API |
依赖机制 |
data-driven |
explicit |
explicit |
explicit |
是否要web容器 |
No |
Yes |
Yes |
No |
进度跟踪 |
console/log messages |
web page |
web page |
Java API |
Hadoop job调度支持 |
no |
yes |
yes |
yes |
运行模式 |
command line utility |
daemon |
daemon |
API |
Pig支持 |
yes |
yes |
yes |
yes |
事件通知 |
no |
no |
no |
yes |
需要安装 |
no |
yes |
yes |
no |
支持的hadoop版本 |
0.18+ |
0.20+ |
currently unknown |
0.18+ |
重试支持 |
no |
workflownode evel |
yes |
yes |
运行任意命令 |
yes |
yes |
yes |
yes |
Amazon EMR支持 |
yes |
no |
currently unknown |
yes |
什么是Azkaban?
Azkaban是Linkedin开源的一个批量工作流任务调度器,用于在一个工作流内以特定的顺序运行一组工作和流程。
Azkaban定义了以Key-Value的文件格式来建立任务之间的依赖关系,并提供了一个易于使用的web用户界面维护和跟踪工作流任务。
功能特点
Web用户界面
简单的上传工作流
简单的设置任务关系
调度工作流
认证/授权(授权)
能够杀死并重启工作流
模块化和可拔插的插件机制
项目工作区
工作流和任务的日志记录和审计
内置任务类型支持command和java
……
运行方式
solo server mode(executor server和web server部署在同一台节点)
multi server mode(executor server和web server可以部署在不同的节点)
案例
hello.job
$ vi hello.job
# hello.job
type=command
command=echo ‘hello’
world.sh
$ vi world.sh
#!/bin/bash
echo ‘world’
world.job
$ vi world.job
# world.job
type=command
dependencies=hello
command=sh world.sh
mr.job
$ vi mr.job
# mr.job
type=command
dependencies=world
command=/opt/module/hadoop-2.5.0-cdh5.3.6/bin/hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /user/creeper /azkout
打包(zip) à 上传、执行
使用注意事项
1.时区
2.必须用Https访问,需要配置SSL
什么是Azkaban - 流式调度框架相关推荐
- JStorm—实时流式计算框架入门介绍
JStorm介绍 JStorm是参考storm基于Java语言重写的实时流式计算系统框架,做了很多改进.如解决了之前的Storm nimbus节点的单点问题. JStorm类似于Hadoop ...
- Storm 流式计算框架介绍
文章目录 1.Storm简介 1.1 DAG(有向无环图) 1.2 Storm介绍 1.2.1 Storm 简介 1.2.2 Storm的优点 1.2.3 Storm的特性 1.3 Storm与Had ...
- Data Artisans发布支持ACID事务的流式处理框架Streaming Ledger
data Artisans宣布推出Streaming Ledger,它扩展了Apache Flink,提供了跨表.键和事件流执行可序列化ACID事务的功能.这项正在申请专利的技术是Flink的专有附加 ...
- 流式处理框架storm浅析(下篇)
本文来自网易云社区 作者:汪建伟 举个栗子 1 实现的目标 设计一个系统,来实现对一个文本里面的单词出现的频率进行统计. 2 设计Topology结构: 这是一个简单的例子,topology也非常简单 ...
- 【Linux 内核】调度器 ① ( 调度器概念 | 调度器目的 | 调度器主要工作 | 调度器位置 | 进程优先级 | 抢占式调度器 | Linux 进程状态 | Linux 内核进程状态 )
文章目录 一.调度器 0.调度器概念 1.调度器目的 2.调度器主要工作 3.调度器位置 4.进程优先级 5.抢占式调度器 二.Linux 内核进程状态 API 简介 三.Linux 进程状态 一.调 ...
- python 流式计算框架_流式计算的三种框架:Storm、Spark和Flink
我们知道,大数据的计算模式主要分为批量计算(batch computing).流式计算(stream computing).交互计算(interactive computing).图计算(graph ...
- python工作任务流flow实时框架:prefect
python工作任务流flow实时框架:prefect prefect是一个python的工作任务流调度实时框架,prefect可以快速构建平台系统复杂模块间工作流的监测.当平台系统模块之间的调用链越 ...
- Linux抢占式调度简介(转)
原文链接:https://www.cnblogs.com/sjks/p/10888620.html 参考链接:https://blog.csdn.net/wudongxu/article/detail ...
- Apache Pulsar的Function流式计算框架使用
目录 1. 背景 2. 介绍 3. Pulsar Function的使用 3.1 Pulsar Function的启用 3.2 使用Pulsar Function 4. 自己编写一个Function ...
最新文章
- iOS10 UI教程视图的边界与视图的框架
- mysql分表 查询 优化_MySQL性能管理及架构(查询优化、分库分表)一遍文章搞定...
- 爱快助力元气森林随时随地高效办公
- oracle还原脚本,oracle自动恢复脚本
- flutter笔记:使用flutter webvie
- ZED2 ROS下bag包的录制与回放数据
- 极客大学架构师训练营 框架开发 模式与重构 JUnit、Spring、Hive核心源码解析 第6课 听课总结
- scrapy-cluster scrapy集群建设
- 三对角矩阵的存储和获取(C++版)
- java语言的特点_Java语言有什么特点?
- hp微型计算机网线怎么安装,惠普M1130网络打印机怎么安装设置?
- 【元胞自动机】基于元胞自动机的人口疏散仿真matlab源码
- 如何将卫星影像或者航拍影像叠加到CAD设计图上(Auto CAD版)
- 鸡和兔放在一起,一共有20个头和56只脚,问鸡和兔各几只?
- 关于海神阁阁主真实身份的推测
- 关于Angular Js动态表格合并单元格的一点见解
- AD转换为KiCAD的方法
- jsp_02JSP隐含对象
- windows 7 32 出现 werfault.exe的错误处理
- GB28181-2016 协议(一)
热门文章
- ElasticSearch 搜索相关
- 曾鸣:区块链走向成熟的真正困难是什么?
- 大数据--阿里曾鸣:商业智能化是未来最重要的一个趋势
- 计算机网络什么是互联网什么是网速,电脑网速变慢是什么原因?如何提高网速?...
- iOS 【UIKit-iOS事件之触摸事件】
- 阿里云【名师课堂】Java面向对象开发2:面向对象简介
- 笔试题-计算图中黑色瓷砖数(深度优先遍历的使用)
- 基础算法:给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)
- 【转】OpenGL实现太阳系模型
- Selenium之模拟登录铁路12306