`
gaojingsong
  • 浏览: 1200823 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

azkaban 介绍

 
阅读更多

Azkaban is a batch workflow job scheduler created at LinkedIn to run Hadoop jobs. Azkaban resolves the ordering through job dependencies and provides an easy to use web user interface to maintain and track your workflows.

 

azkaban是LinkedIn开源的批量工作流调度器,可以通过编写类似properties的文件,在里面定义工作的顺序和依赖关系。配置好azkaban后将可以通过web ui的方式,来管理和查看追踪工作流。官网https://azkaban.github.io,可以查看具体介绍,它提供了模块化的可插拔机制,支持command、java、hadoop和hive命令,另外它和任何版本的hadoop均兼容。

 

Features

  • Compatible with any version of Hadoop
  • Easy to use web UI
  • Simple web and http workflow uploads
  • Project workspaces
  • Scheduling of workflows
  • Modular and pluginable
  • Authentication and Authorization
  • Tracking of user actions
  • Email alerts on failure and successes
  • SLA alerting and auto killing
  • Retrying of failed jobs

1) 兼容任何版本的hadoop

 

2) 易于使用的Web用户界面

 

3) 简单的工作流的上传

 

4) 方便设置任务之间的关系

 

5) 调度工作流

 

6) 模块化和可插拔的插件机制

 

7) 认证/授权(权限的工作)

 

8) 能够杀死并重新启动工作流

 

9) 有关失败和成功的电子邮件提醒

 

为什么需要工作流调度系统

1)一个完整的数据分析系统通常都是由大量任务单元组成:

 

shell脚本程序,java程序,mapreduce程序、hive脚本等

 

2)各任务单元之间存在时间先后及前后依赖关系

 

3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;

 

例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处理,处理步骤如下所示:

 

(1) 通过Hadoop先将原始数据上传到HDFS上(HDFS的操作);

 

(2) 使用MapReduce对原始数据进行清洗(MapReduce的操作);

 

(3) 将清洗后的数据导入到hive表中(hive的导入操作);

 

(4) 对Hive中多个表的数据进行JOIN处理,得到一张hive的明细表(创建中间表);

 

(5) 通过对明细表的统计和分析,得到结果报表信息(hive的查询操作)

 

azkaban主要由三部分组成,协同工作。

 

(1)azkaban web server:提供web ui,可以通过web实现对工作流的创建、执行、追踪等,安装后有单独的文件夹对应web server。

 

(2)azkaban executor server:负责工作流和任务的调度提交,安装后也有单独的文件夹对应executor server。

 

(3)mysql:解压对应的安装压缩文件后,需要执行相应脚本创建多张表,用于保存日志、执行计划和项目相关的信息

 

 

azkaban有三种运行模式。

 

(1)solo server mode:executor server和web server运行在同一个进程里,数据库使用内置的H2数据库,任务量不大的项目可以使用此模式。

 

(2)two server mode:executor server和web server运行在不同的进程里,数据库使用mysql。

 

(3)multiple executor mode: executor server和web server运行在不同的进程里,但是executor server可以有多个。

分享到:
评论

相关推荐

    1、azkaban介绍、三种(solo-server、two-server和multiple-executor)部署方式及验证

    Azkaban是一个由LinkedIn开发的批量工作流任务调度器,专为在特定顺序中执行一系列作业和流程而设计。它的核心功能在于通过job配置文件定义任务间的依赖,并提供了一个直观的Web用户界面来管理和追踪工作流。Azkaban...

    4、azkaban-3.51.0 通过api进行操作azkaban界面功能

    Azkaban是一个流行的工作流管理系统,常用于大数据处理任务的调度和执行。它提供了图形化的用户界面(UI)以及API接口,使得用户可以方便地创建、管理和监控工作流。本篇文章将聚焦于Azkaban 3.51.0版本中的API操作...

    Azkaban任务调度安装配置和使用

    #### 一、Azkaban介绍 ##### 1.1 为什么需要Azkaban 在大数据处理领域,一个完整的数据分析系统往往由多个任务单元组成,如Shell脚本、Java程序、MapReduce作业、Hive SQL脚本等。这些任务单元之间存在着时间和...

    Azkaban安装部署使用详细篇

    #### 一、Azkaban介绍 Azkaban是一款强大的开源任务调度工具,主要用于管理一系列依赖的批量处理作业,尤其适用于Hadoop环境下的大数据处理流程。Azkaban提供了一个易于使用的Web界面来监控任务进度,并支持多种...

    azkaban的简介与使用介绍

    该PPT主要对AZKABAN的各部分组件及akzaban的架构个各个组件的功能及他们的用途做了简单的介绍

    Azkaban - 定时任务系统的配置与运行详解

    下面将详细介绍 Azkaban 的配置和运行过程。 一、创建 Azkaban 用户 在 Linux 系统中,需要创建一个名为 azkaban 的用户,并赋予 sudo 权限。使用以下命令创建用户: ``` [root@anson01 ~]# useradd azkaban [root...

    Azkaban实战通过5个不同场景介绍原理.docx

    Azkaban 实战通过 5 个不同场景介绍原理 Azkaban 是一个开源的工作流管理系统,广泛应用于大数据处理领域。该资源通过 5 个不同场景,介绍了 Azkaban 的原理和实战应用。 首先,Azkaban 支持多种任务类型,包括 ...

    Azkaban操作指南.pptx

    下面我们将详细介绍如何使用Azkaban进行任务调度。 ### Azkaban概述 Azkaban是一个强大的批量工作流任务调度器,它能够帮助用户定义一系列任务,并按照预设顺序执行这些任务。通过Azkaban,用户可以轻松地管理复杂...

    Azkaban元数据库分析

    本文将详细介绍Azkaban元数据库中的15张表及其作用,帮助读者更深入地理解Azkaban的工作机制。 #### 二、Azkaban元数据库表详解 ##### 1. `active_executing_flows` 表 - **表功能**:该表主要用来记录正在运行的...

    azkaban-sql-script-2.5.0.tar.gz

    以下将详细介绍Azkaban的关键概念、功能以及与SQL脚本的关系。 Azkaban的核心功能包括: 1. **工作流调度**:Azkaban允许用户定义一系列任务(Job)的执行顺序,形成一个工作流(Workflow)。每个任务可以是Hadoop...

    3、azkaban-3.51.0 条件工作流flow和参数传递

    3、azkaban-3.51.0 条件工作流flow和参数传递 网址:https://blog.csdn.net/chenwewi520feng/article/details/130747271 介绍azkaban的条件工作流以及工作流之间的参数传递示例

    azkaban3.43.0--linux 相关源码tar包

    官方文档详尽地介绍了安装、配置和使用Azkaban的步骤,对初学者非常友好。 总之,Azkaban 3.43.0是一个强大且灵活的工作流管理系统,其开源特性允许用户根据自身需求进行定制和扩展。通过在Linux环境下编译源码,...

    azkaban-solo-server-亲测可用

    下面将详细介绍Azkaban Solo Server以及如何使用它。 **Azkaban简介** Azkaban最初由LinkedIn开发,后来成为开源项目,用于管理数据处理工作流。它提供了一个用户友好的Web界面,用于定义作业依赖关系,安排作业...

    AzkabanAPI接口文档汇总

    本文档将详细介绍Azkaban API中的各个接口及其用法。 #### 二、API接口汇总 ##### 1. Authenticate 获取用户Session ID - **方法**: POST - **请求URL**: `/?action=login` - **参数位置**: 请求查询字符串...

    azkaban-3.81.0 dist.zip

    本次构建环境介绍: ● Centos 7 ● JDK 1.8.0_181 ● Gradle 6.0 ● Git 1.8.3.1 本次构建后部署包包含如下内容(已经压缩到一起): ● azkaban-web-server-0.1.0-SNAPSHOT.tar.gz ● azkaban-exec-server-...

    azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz

    7. **LICENSE** 和 **README** 文件:提供软件的许可信息和简要介绍。 部署Azkaban执行服务器时,你需要解压这个tar.gz文件,然后根据conf目录中的配置文件进行个性化设置,比如连接到Azkaban的数据库,设置日志...

    azkaban 3.4 编译后安装文件,分布式多executor(赠送安装文档)

    7. **客户端使用**:介绍如何使用Azkaban的Web界面提交作业,或者通过命令行工具(如`azkaban-client`)进行交互。 8. **监控与日志**:阐述如何查看Azkaban的运行状态,包括作业执行情况、错误日志、性能指标等。 ...

    基于Hadoop网站流量日志数据分析系统.zip

    1. **Azkaban介绍.md**:Azkaban是一个工作流调度系统,常用于管理Hadoop上的批处理作业,确保任务按照预设的顺序和依赖关系执行。 2. **README.md**:通常包含项目简介、安装指南、使用方法等信息,是理解项目的...

Global site tag (gtag.js) - Google Analytics