Azkaban使用简单笔记

Azkaban官网文档1-概述-Overvie Azkaban是在LinkedIn上实现的,用来解决Hadoop作业依赖的问题。我们的工作需要按顺序运行,从ETL工作到数据分析产品。 Azkaban最初是一个单一的服务器解决方案,随着多年来Hadoop用户数量的增加,它已经发展成为一个更健壮的解决方案。 Azkaban由三个关键部分组成: 关系型数据库(MySQL) AzkabanWebServer AzkabanExecutorSe... 阅读详情

官方文档:http://azkaban.github.io/


Azkaban主要的组成:
1. 关系型数据库——MySQL
2. AzkabanWebServer
3. AzkabanExcutorServer


使用MySQL存储状态,AzkabanWebServer和AzkabanExcutorServer访问数据库。
AzkabanWebServer主要管理者Azkaban,主要进行了项目管理、身份验证、调度和监控执行。并且为用户界面。


使用方法:
登录Azkaban环境登录账号和密码之后将会看到一个项目列表界面。

点击创建项目就可以创建安新的项目,创建名称可以第一次命名之后不能再次改变,项目描述可以改变。创建好项目之后,就会进入项目界面,如果没有相关按钮,则说明用户没有相关权限,现在为一个空项目。

上传项目,点击Upload就可以上传项目,项目可以上zip文件,zip里需要包含*.job文件和其他需要运行的job。Job名称必须唯一。

创建流程:
Job为一条在Azkaban中运行的进程。这些Job可以依赖于其他Job。一组Job和他们的所依赖构成了Flow
先创建job文件,文件后缀为*.job。

1 #test.job
2 type=command #job类型为command
3 command=echo "hello world"    #command用来执行命令


这段job是执行一个用来打印hello world的命令的。输出的内容会显示在Azkaban的Web UI中。
PS:标准输出和标准错误都会写到log中,可以在Web UI中查看。

创建一个流程:
一个流程是一个依赖其他job的job。其他依赖项经常会运行在这个流程job之前。

1 #this is flow bar.job
2 type=command
3 dependencies=test
4 command=echo bar


这个job依赖于之前的test.job

在Azkaban中,type值得是运行的类型,command指的是一条Linux命令,同时Azkaban还支持python,java等直接运行,也就可以是hadoop的shell。

一个流程也可以作为一个节点嵌入到其他job文件中,形成嵌入流

type=flow
flow.name=bar


这样嵌入到了另一个job中去


一个简单的例子
文件test.sh

1 #!/bin/bash
2 echo "hello world"

文件aztest.job

1 # aztest.job
2 type=command
3 command=sh test.sh

文件zatest.properties

user.to.proxy=Hadoop

将这三个文件打包为zip包:

zip aztestlh.zip aztest.job aztest.properties test.sh

然后上传文件到Azkaban

上传完成值后就可以看到相关信息了

点击Execute Flow就可以运行

运行成功之后,图的底色会变成绿色:

查看日志信息可以看到我们之前的shell脚本输出的内容:


运行job的另一个方式就是定时,也就类似于cron,一个Azkaban项目就是定时脚本执行的调度器。

一个Flow的例子:
定义多个job以及job之间的依赖就可以组成flow。定义依赖可以使用dependencies参数就可以了。例如创建了4个job:

复制代码
 1 start.job
 2 type=command
 3 command=echo "start execute"
 4 test.job
 5 type=command
 6 command=echo "Hello World"
 7 sleep.job
 8 type=command
 9 dependencies=test, start
10 finish.job
11 type=command
12 dependencies=sleep
复制代码

有着四个job文件组成的为一个流,我们可以看到流的组成方式为job相互依赖的,将该Flow上传上去之后,Azkaban会将该流里的job以图的形式展示出来。

PS:Azkaban在执行完毕之后说的成功和失败,指的是job文件的成功和失败,并不是job文件所执行的其他文件失败与否。

发送邮件
Azkaban为我们的提供了任务执行的job结果成功失败的邮件提示。

Azkaban为我们提供了3种执行发送消息的选择,分别为失败了发送邮件,失败发送短信和成功发送邮件。可以进行相关设置在对应的时候发送相关信息。

 

欢迎各位转载。 注意:转载请注明出处。
【Azkaban】安装和简单使用 Azkaban是一款由LinkedIn开源的工作流调度系统,专为Hadoop作业管理设计。文章介绍了Azkaban的核心功能包括DAG工作流管理、任务调度、可视化监控及权限控制,并对比了单机模式(使用H2数据库)和分布式模式(MySQL数据库)的安装部署方法。单机模式简单易用但可靠性较低,分布式模式通过SSL认证和Web/Exec服务分离实现高可用。最后通过创建Shell任务示例展示了从项目创建、任务定义到调度配置的完整使用流程,适用于ETL、报表生成等大数据场景。Azkaban以其轻量级和可视化优势成为中 阅读详情

相关推荐

【Azkaban】Azkaban入门解析

一、Azkaban概述 Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程;Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流 二、Azkaban的功能特点 1、提供功能清晰,简单易用的Web UI界面 2、方便上传工作流 3、提供job配置文件快速建立任务和任务之...

Together 7948

azkaban

azkaban概述 1、azkaban是什么? azkaban是任务调度的工具 2、azkaban使用步骤 1、需要创建两个文件[.project文件和.flow文件] 2、在.project文件中添加一行内容: azkaban-flow-version: 2.0 .flow文件中配置job任务 3、将两个文件打成.zip包 4、上传azkaban web页面 azkaban在两个文件中都是使用的yaml的语法 yaml语法规范: 1、大小写敏感 2、通过缩进表示层次关系 3、缩进只能空格,不能用tab 4

m0_50670853的博客 414

Ambari 安装 Azkaban

Azkaban on Ambari

jzy3711的博客 28万+

azkaban官方文档-综述

Azkaban是被LinkedIn上实现的,目的是解决Hadoop作业依赖的问题。从ETL到数据分析产品,我们有很多job需要按一定的顺序执行。   最初是一个单一的服务器解决方案,随着Hadoop用户数量的增加,Azkaban已经发展成为一个更加健壮的解决方案。   三个组成部分:     关系型数据库--Relational Database (MySQL)    web服务器--A

jmhhshuai的博客 2582

Azkaban使用教程

Azkaban页面介绍 1 创建project 2 上传项目 3 工作流视图 4 项目权限 5 执行流程图 6 故障选项 7 任务执行选项 8 定时任务 9 书写azkabna的作业 10 10.1创建工程 11 10.2创建job 12 10.3四类job类型的文件都可以添加的参数 13 10.4创建工作流flow 14 10.5创建子工作流subfl...

SDKLHKJAS的博客 3981

Azkaban 使用

文中文中使用到的软件版本:Azkaban 3.90.0、MySQL 5.7、Centos 7。一个 project 包含多个 flow,一个 flow 包含多个 job,job 之间可以有依赖关系。

小强签名设计 的博客 409

Azkaban作业参数使用介绍

Azkaban中的参数详解 参数传递是调度字体工作流运行时非常重要的一部分,工作流的执行,单个作业的执行,多个工作流之间的依赖执行,历史任务重算,都涉及到参数传递和同步。 azkaban的工作流中的参数可以分为如下几个类型: 1: Azkaban UI 页面输入参数 2: 环境变量参数 3:job作业文件中定义的参数 4:工作流的用户定义的属性文件,上游作业传递给下游的参数 5:工作...

yilulvxing的博客 8194

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

Azkaban是由Linkedin公司推出的一个开源的批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程。 Azkaban的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖关系。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。 它有如下特点: 兼容任何版本的hadoop 易于使用的Web用户界面 简单的工作流的上传 方便设置任务之间的关系 工作流和任务日志记录和审计 调度工作流 模块化和可插拔的插件机制 认证/授权(权限的工作) 能够杀死并重新启动工作流 有关失败和成功的电子邮件提醒

azkaban简介及azkaban部署、原理和使用介绍

azkaban简介及azkaban部署、原理和使用介绍 azkaban简介 ​ Azkaban是一套简单的任务调度服务,整体包括三部分webserver、dbserver、executorserver。 ​ Azkaban是由Linkedin开源的一个Java项目,批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。 ​ Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。 项目官网:https://azkaban.g

wt334502157的博客 3万+

OpenCV快速入门:绘制图形、图像金字塔和感兴趣区域

OpenCV是一个强大的计算机视觉库,广泛应用于图像处理、计算机视觉和机器学习等领域。本文将介绍OpenCV中的一些基础功能,包括如何绘制图形、创建图像金字塔以及如何处理感兴趣区域(ROI)。

吾家有猫名探花的博客 1964

【Unity3D】关于unity中spriteAtlas的打包方案及使用时内存状态的多组对照实验

unity项目中使用精灵(Sprite)为了降低性能消耗,我们可以使用精灵图集(Sprite Atlas)技术,它能够将多个纹理合并成一个大纹理

云渊寒烬 5101

Azkaban的介绍、安装与使用

本文介绍了工作流调度器Azkaban的安装部署与实战应用。首先阐述了工作流调度的必要性及常见系统对比,重点分析了Azkaban与Oozie的特性差异。接着详细说明了Azkaban的安装步骤,包括Web/Executor服务器配置、SSL证书生成、数据库初始化及环境变量设置。最后通过5个实战案例(基础命令、多任务依赖、HDFS操作、MapReduce任务和Hive脚本执行)演示了Azkaban的核心功能。该调度系统具有轻量级、配置简单和Web界面友好等特点,适合Hadoop生态中的任务调度需求。

ywl470812087的博客 10万+

【ElementUI】el-table列宽自适应优化方案(v-fit-columns进阶指南)

本文深入探讨了ElementUI中el-table列宽自适应插件v-fit-columns的进阶应用。针对常见的表头错位、与fixed固定列冲突等难题,提供了基于$nextTick与doLayout的黄金组合、隔离自适应区域等稳如泰山的解决方案,并分享了配置优化、性能调优及封装最佳实践,帮助开发者实现优雅且稳健的表格列宽自适应。

weixin_29011667的博客 351

Azkaban的简单使用

Azkaban 文章目录Azkaban1、安装集群部署规划安装步骤一、配置MySQL二、配置Executor Server三、配置Web Server2、Work Flow 案例执行单个作业依赖自动失败重试3、Azkaban 进阶JavaProcess 作业类型条件工作流运行时参数预定义宏案例邮件报警 1、安装 集群部署规划 hadoop151 hadoop152 hadoop153 Web Server √ Executor Server √ √ √ 安装步骤 一、配置My

qq_44002865的博客 1424

Ubuntu1804 关于ubuntu18.04下载软件仓库信息失败,请检查网络连接 的解决方案

今天电脑在更换软件源的时候遇到了这个问题。出现了如上图所示的错误信息。 尝试了各家优快云的博客之后,发现方法大同小异,均无法解决。 方法大多都是要求更换软件源,如下所示: 打开“Ubuntu软件中心”-->点击“编辑”-->点击“软件源”-->在Ubuntu软件界面,“下载自”默认是“中国的服务器”,改为“主服务器”试试 2.打开更新管理器-》设置-》选择站点-》...

weixin_43729409的博客 1万+

Cadence Sigrity PowerDC实战:如何用PCB电热混合仿真解决散热难题(附详细配置步骤)

本文详细介绍了如何利用Cadence Sigrity PowerDC进行PCB电热混合仿真,以解决高功率密度设计中的散热难题。文章通过解析电热耦合原理,并附上详细的配置步骤与实战技巧,指导硬件工程师同步优化电气性能与热管理,从而在设计源头提升产品可靠性与效率。

weixin_29292535的博客 199

Azkaban快速入门系列(1) | Azkaban的简单介绍

  此篇为大家带来的是Azkaban的简单介绍。 目录一. 工作流调度器概述1. 为什么需要工作流调度系统2. 工作流调度实现方式3. 常见工作流调度系统4. 各种调度工具特性对比5. Azkaban与Oozie对比二. Azkaban1. 什么是azkaban2. Azkaban特点3. Azkaban的架构 一. 工作流调度器概述 1. 为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序、hive脚本等 各任务单元

不温卜火 5749

Pointnet++环境配置(Windows11和ubuntu)及训练教程

PS:前两行命令是数据处理的命令,主要是进行数据读取和生成相应的训练数据格式,在Ubuntu上是正常运行的,在Windows上运行会失败,无法生成训练用的数据格式,所以最好在Ubuntu上训练,如果一定要用Windows,可以ubuntu上生成数据格式在导到Windows上,数据生成不需要安装torch。通过anaconda配置的环境,在官网找的命令安装的,版本是2.1.0+cu118。训练命令:我使用的pycharm,直接在pycharm中打开终端,运行命令。Python版本:3.7。

AIcurator的博客 2558

Azkaban3.81.0安装以及简单使用

1.为啥什么要使用WorkFlow? 生产中ETL、以及HIve sql等作业都是通过shell命令触发运行的,我们知道Linux有自带的Crontab调度器,通过它可以进行简单作业的调度,但是对于一些依赖的作业,比如作业B依赖于作业A完成后才能开始,这是Crontab很难去配置了,因为配置Crontab人根本不知道作业具体是何时完成的,全凭经验感觉,这是不可取的。此时我们需要Work Flow来...

゛Never give up~ 1652

Mysql授权允许远程访问

前言 Mysql授权允许远程登录后,linux中安装的mysql可以与Navicat for Mysql(可视化)等连接,在可视化软件下管理数据库。 注意:不能使用临时密码 设置密码命令: alter user 'root'@'localhost' identified by '这里是你的密码'; 授权允许远程访问 一、授权命令: grant all privileges on *.* to '...

🏆 前端领域优质创作者 3万+

Qt Installer Framework 简单使用

qt installer framework 简单使用

qq_42815643的博客 2576

azkaban的简单入门

一、下载从github上下载,azkaban , 需要注意的是,azkaban官方只是提供了源码,需要我们自己编译。二、编译azkaban 的编译也是很简单,但是前提是你需要足够的耐心,我是真的差点弄疯了,编译 花了我几个小时,一直以为我哪里到错误了,最后又编译成功了,实在搞不懂。需要注意的是:3.x之后的web项目中没有conf、plugins文件夹,我们需要从solo中复制过来。编译的顺序安装官

Mr.Lee 1291

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Azkaban介绍和安装,及简单使用

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

福贵儿的博客 2158

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: Azkaban简介和使用
下一篇: Apache Hadoop与第三方Hadoop-CDH,HDP,MapR的分析与比较
程序员椰子橙
博客等级 码龄9年 46粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值