简单的任务调度使用crontab、复杂的任务调度使用oozie、azkaban等开发调度系统。

一、为什么学习Azkaban

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

二、什么是Azkaban

  Azkaban是由LinkedIn公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的 key:value(键值对)的方式,通过配置中的dependencies来设置依赖关系。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

三、Azkaban的特点

  • 兼容各种版本的Hadoop
  • 易于使用的web用户界面
  • 简单的工作流上传
  • 方便设置任务之间的关系
  • 调度工作流
  • 模块化和可插拔的插件机制
  • 认证/授权(权限的工作)
  • 能够杀死并重新启动任务流
  • 有关失败和成功的电子邮件提醒

四、Azkaban的架构

Azkaban Web Server
是整个 Azkaban 工作流系统的主要管理者
负责用户登录认证、负责 project 管理、定时执行工作流、跟踪工作流执行进度等一系列任务。
 
AzkabanExecutorServer
负责具体的工作流的提交、执行,通过 mysql数据库来协调任务的执行。
 
关系型数据库(MySQL)
存储大部分执行流状态,AzkabanWebServer 和 AzkabanExecutorServer 都需要访问数据库。
 
 

五、Oozie和Azkaban特性对比

特性 Oozie Azkaban
工作流描述语言 XML 键值对
是否要web容器
进度跟踪 网页 网页
Hadoop job调度支持
运行模式 daemon daemon
事件通知 ×
需要安装
支持的Hadoop版本 0.20+
重试支持 workflownode evel
运行任意命令

— 要养成终身学习的习惯 —

Azkaban - [01] 概述的更多相关文章

  1. kafka详解(01) - 概述

    kafka详解(01) - 概述 定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. 消息队列 MQ传统应用场景之异步处理 使用消 ...

  2. Zookeeper详解(01) -概述

    Zookeeper详解(01) -概述 概念 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分 ...

  3. 01 - 概述 VTK 6.0 迁移

    摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...

  4. Redis数据库 01概述| 五大数据类型

    1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...

  5. Hive 01 概述、安装配置

    概述 数据仓库:是一个面向主题的.集成的.不可更新的.随时间不变化的数据集合,它用于支持企业或组织的决策分析处理. 数据仓库的结构和建立过程: 数据源 数据存储及管理 ETL Extract 提取 T ...

  6. 【OracleDB】 01 概述和基本操作

    实例概念: Oracle有一个特殊的概念 Oracle数据库 = 数据库 + Oracle文件系统 + Oracle实例 实例处理Oracle的请求,调用文件系统 然后返回结果响应给客户端 单实例和多 ...

  7. 【大数据面试】Flink 01 概述:包含内容、层次架构、运行组件、部署模式、任务提交流程、任务调度概念、编程模型组成

    一.概述 1.介绍 对无界和有界数据流进行有状态计算的分布式引擎和框架,并可以使用高层API编写分布式任务,主要包括: DataSet API(批处理):静态数据抽象为分布式数据集,方便使用操作符进行 ...

  8. Headfirst JSP 01 (概述)

    HTTP 协议 http 是tcp/ip上层协议, 如果你对这些网络协议还不是太熟悉, 下面提供一个非常简单的解释, tcp负责确保从一个网络节点向另一个网络节点发送文件能作为一个完整的文件到达目的地 ...

  9. Python学习笔记 :01概述

    Python基础 首先推荐学习Python基础的教程和书籍 视频教程推荐南京大学张莉老师在cousera上的教程用Python玩转数据 入门教程<Python基础教程> 数据挖掘教程< ...

  10. 重学C语言---01概述

    1.什么是C语言 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.计算机语言是从第二次世界大战以后,经历了戏剧性的发展过程.从机器语言到汇编语言和高级语言.C语言是与硬件 ...

随机推荐

  1. CVE-2023-31436 数组越界漏洞

    CVE-2023-31436 数组越界漏洞 drawio: CVE-2023-31436.drawio ‍ 漏洞分析 在 qfq_change_class 里面如果用户态没有提供 TCA_QFQ_LM ...

  2. [原创] Realtek RTL8195A WIFI历史漏洞分析和新漏洞挖掘

    前言 本文主要分析vdoo发现的一些RTL8195A WIFI模块的漏洞. 环境搭建 下载最新的SDK https://github.com/ambiot/amb1_arduino/blob/mast ...

  3. 关于 Span 的一切:探索新的 .NET 明星:5. .NET 运行时的处理

    .5. NET 运行时会怎么样? 1. Span<T> 是什么? 2. Span<T> 是如何实现的? 3. 什么是 Memory<T>,以及为什么你需要它? 4. ...

  4. PDFSharp - Graphics 绘制接口

    PDFSharp - Graphics Graphics - PDFsharp and MigraDoc Wiki 所有的 Graphics 类型都设计成模仿来自 System.Drawing 命名空 ...

  5. Kubernetes 可能是分布式架构的大结局了

    前两年在爬虫里折腾的太久了,最近快马加鞭追赶分布式架构潮流. SpringCloud.Dubbo.ServiceComb 刷完,以为分布式架构就是这样了.这批架构可能也就 Java 栈的人会感觉它们特 ...

  6. Qt/C++音视频开发72-倍速推流/音视频同步倍速推流/不改变帧率和采样率/低倍速和高倍速

    一.前言 最近多了个新需求,需要倍速推流,推流界的扛把子obs也有倍速推流功能,最高支持到两倍速.这里所说的倍速,当然只限定在文件,只有文件才可能有倍速功能,因为也只有文件才能倍速解码播放.实时视频流 ...

  7. Qt编写物联网管理平台48-特色功能设计

    一.前言 在物联网管理平台的实际现场应用过程中,遇到过大大小小几十个改进的需求点,这些需求点都是实际用户提出来的,一方面为了方便用户使用提高用户体验,一方面为了提升整体的整个系统的完整性,甚至有些需求 ...

  8. Qt编写安防视频监控系统44-视频上传

    一.前言 视频上传用来将本地存储的视频文件上传到云端服务器,间接的实现了本地视频存储到云端的功能,其实本质上是先存储在本地,文件生成后再去上传到云端的,最终的效果一样就是,为了拓展兼容性,直接做了单独 ...

  9. 23种设计模式实战:重学Java设计模式

    23种设计模式实战PDF: 链接:https://pan.baidu.com/s/1XfjkBt19G7jZQfwk5wAV3w 提取码:1234

  10. Solution Set -「LOCAL」冲刺省选 Round XXIX

    \(\mathscr{Summary}\)   啊--说老实话,早上昏昏欲睡的,起码浪费了一个多小时.比赛打麻了 qwq.   A 题类似费用提前计算,回忆起这个 trick 之后就简单了.B 题又错 ...