简单的任务调度使用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. Flutter之GetX之路由管理

    GetX之路由管理 GetX有一套完整的路由管理,并且不需要context上下文,API非常简洁 直接导航 导航到新的页面 Get.to(NextScreen()); 返回,此方法可以用于关闭Snac ...

  2. Member not found: ’packageRoot’ in Flutter

    path/flutter/.pub-cache/hosted/pub.dartlang.org/platform-3.0.0/ lib/src/interface/local_platform.dar ...

  3. 金TECH频道|最近备受关注的“应用重构”到底是什么?

    "金TECH频道"旨在为您分享中电金信助力行业数字化转型的最新产品业务动态.技术观点洞察与应用实践案例.让我们在这里,与行业发展同频共振,共筑数字新基石.

  4. 【Python】【爬虫】【爬狼】001_urllib_get_获取响应结果页面代码

    情况说明 本节课我们要处理的网站是 www.yhdmp.cc 注意:腾讯报毒该网址.问题不大,基本这种盗版动漫的网站都会报毒吧.如果不放心可以自己找个其他的网站爬,我这个也是随便找的. 该网站搜索提交 ...

  5. Kerberos认证代码分析Can't get Kerberos realm

    1. Can't get Kerberos realm 原因分析: 原始代码为: 1 2 org.apache.hadoop.security.UserGroupInformation.setConf ...

  6. AOP拦截日志

    首先对于AOP切面编程,我也是刚学习,了解不深,这边先引用老张的博客,方便大家学习. 首先想一想,如果有这么一个需求,要记录整个项目的接口和调用情况,当然如果只是控制器的话,还是挺简单的,直接用一个过 ...

  7. 综述😋Security and Privacy Challenges of ✌Large Language Models A Survey

  8. JVM实战—6.频繁YGC和频繁FGC的后果

    大纲 1.JVM GC导致系统突然卡死无法访问 2.什么是Young GC什么是Full GC 3.Young GC.Old GC和Full GC的发生情况 4.频繁YGC的案例(G1解决大内存YGC ...

  9. Solution Set - “伸手向着拉格朗日点作别”

    目录 0.「UR #9」「UOJ #133」电路手动分析 1.「UR #9」「UOJ #134」App 管理器 2.「UR #10」「UOJ #152」汉诺塔 3.「UNR #2」「UOJ #312」 ...

  10. sqlserver空间数据 + c# 实现查询附近的设备

    前言 一个小需求的实现,做一个备忘,个人理解,可能存在错误. 客户有很多设备,这些设备分散在不同的地方,现在需要通过小程序获取附近的(比如1000米)之类的设备列表,以距离排序 第一个想到的的是找百度 ...