Azkaban是Linkedin开源的任务调度软件。致力于解决Hadoop job 问题。

主要解决ETL中有顺序的任务。

一、基本概念:

其中主要有三个组件组成:

Relational Database(只支持MySql)

Azkaban WebServerWebUI)

Azkaban ExecutorServer

Azkaban2目前支持三种模式:

solo server mode

two server mode

multiple executor mode

Azkaban界面中的主要元素有三个,分别是project、job与flow

project可以理解为某个项目,其项目中包含了许多需要执行的任务,即为job,各个job之间形成依赖关系,便组成了工作流flow

二.如何使用:

首先,需要创建以.job为扩展名的文件,一个文件即代表一个任务。

所有的job都需要一个知道他们如何去执行的type。一般的,有这样四种job类型:Java、command、javaprocess和pig。

本文以type=command为例

其次在这个文件中添加这个任务所需的参数与参数值,

必须的参数有type与command

例如:

type=command

command=echo 'jobs start’

四类job类型的文件都可以添加的参数有以下几个:

retries --> 任务失败时自动重启的次数

retry.backoff --> 每一次任务尝试重启时之间等待的毫秒数

working.dir --> 可以重新指定任务执行的工作目录,默认为目前正在运行的任务的工作目录

failure.emails --> 任务失败时的邮件提醒设置,以逗号分隔多个邮箱

success.emails --> 任务成功时的邮件提醒设置,以逗号分隔多个邮箱

notify.emails --> 任务无论失败还是成功都邮件提醒设置,以逗号分隔多个邮箱

dependencies--> 定义该文件依赖的文件,值为被依赖文件的文件名,多个目标以逗号分隔,不加扩展名

保存为start.job文件即创建好了一个job,其中

Azkaban每个project中只能上传一个.zip文件

三、创建工作流flow

定义好所有的参数后即为定义好了一个job,如果添加了dependencies参数即形成了工作流flow

以开头的任务流为例:

#start.job

type=command

command=echo "jobs start"

#A.job

type=command

command=echo "This A job"

dependencies=start#B.job

type=command

command=echo "This B job"

dependencies=start#C.job

type=command

command=echo "This C job"

dependencies=A,B#D.job

type=command

command=echo "This D job"

dependencies=C

保存好5个文件后,将5文件打包成zip,然后在界面中进行上传,就会将这几个job上传到了系统中,最终呈现成一个DAG图。

四、简单比较:

airflow  python实现,在使用的时候需要自己填写python代码,利用Python代码实现 Job 的 Dag流程。界面操作人性化,缺点,只能单节点运行。

Oozie:与airflow类似,使用的时候需要手动填写XML的配置文件,WEB UI,类比airflow 并没有那么人性化。

五、总结

这几天在使用Azkaban的时候遇到些坑,这里简单记录一下。

1.启动Azkaban的时候,一定要在/bin目录这一级目录使用/bin/xxx进行启动与停止,

否则找不到,启动会报错。

2.在使用的时候上传job的文件,若是单个job文件压缩上传,不要放到一个文件夹里面再压缩,

需要直接压缩,不然Azkaban会找不到对应的job。若是多个job 文件,也是不要将所有的job

文件放到文件夹下压缩,而是直接压缩多个job文件。

azkaban mysql参数_学习azkaban的笔记以及心得相关推荐

  1. azkaban mysql参数_azkaban参数详解

    参数传递是调度字体工作流运行时非常重要的一部分,工作流的执行,单个作业的执行,多个工作流之间的依赖执行,历史任务重算,都涉及到参数传递和同步. 1 参数类型综述 azkaban的工作流中的参数可以分为 ...

  2. 如何安装mysql 匹配_学习笔记----安装MySQL

    安装MySQL 1.下载解压源代码包. 我的是mysql 5.1.48版本的. 2.添加mysql用户和组 [root@tigertall mysql-5.1.48]#groupadd  mysql ...

  3. 东财mysql作业_学习平台-15秋东财《MySQL数据库系统及应用》在线作业二(随机)-成人高等教育_成人本科教育报名_远程网络教育学院-江苏学历网报名服务中心...

    一.单选题(共15道试题,共60分.)V1.在mysql中一个新用户默认就有查看的权限 A.正确 B.错误 满分:4分 2.下列哪个命令用来修改用户名 A.setusername B.nameuser ...

  4. 嵌入式开发需要学mysql吗_学习嵌入式开发需要学习哪些课程?如何学习?

    针对很多的大学生嵌入式开发初学者来说,对嵌入式开发的学习还很迷茫.今天信盈达嵌入式培训老师给出参考建议:首先:嵌入式开发需要学习哪些课程?因为嵌入式开发的方向不同,所学习的内容会有所区别,但是无论是哪 ...

  5. 阿里云 mysql参数_阿里云MYSQL数据库怎么修改参数值?

    可以修改RDS实例的部分参数的值,以及查询参数修改记录.请在RDS控制台上查看可修改的具体参数. 说明 SQL Server 2012及以上版本的实例只能通过SQL命令设置实例参数,详情请参见使用SQ ...

  6. mysql的sqlyog学习笔记(查询部分)(代码用命令行显示 )

    索引 语言 查询 基础查询 select 查询列表 from 表名; 查询函数(调用函数,获取返回值) 起别名 +的作用 distinct的使用(去重) 查看表的结构 条件查询 按关系表达式筛选 按逻 ...

  7. mysql基础命令学习笔记

    这里不会涉及一些mysql数据库安装之类的知识,但是会将自己学习以及使用mysql一些最常用的mysql语句总结到本篇文章,作为自己的学习记录和笔记.基本的环境为CentOS 6.5 数据库为mysq ...

  8. 【笔记】MySQL的基础学习(二)

    [笔记]MySQL的基础学习(二) MySQL 老男孩  一 视图 视图其实就是给表起个别名 1.创建视图 格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS ...

  9. 机器学习训练秘籍_学习笔记

    本文主要参考"吴恩达deeplearning.ai--机器学习训练秘籍"(https://accepteddoge.github.io/machine-learning-yearn ...

最新文章

  1. VC问题 IntelliSense:“没有可用的附加信息”,[请参见“C++项目 IntelliSense 疑难解答”,获得进一步的帮助]...
  2. c++函数不写return可以吗_Science: 高剂量的维生素C可以抗癌吗?
  3. rust 局域网联机_分享自己用 Rust 写的可以直接利用 SOCKS 代理的游戏加速器
  4. TensorFlow调试常见问题(pycharm)
  5. linux的mysql本地yum安装_linux下使用yum安装mysql
  6. 软件交互性友好性_您应该知道的8个环境友好的开放软件项目
  7. ctypes python 结构体_Python 中 ctypes 的使用
  8. js获取session_学习后端鉴权系列: 基于Cookie, Session认证
  9. MapReduce Example
  10. OpenMP4.0: #pragma openmp simd实现SIMD指令优化(ARM,X86,MIPS)
  11. 网店宝贝复制专家操作手册
  12. 预测算法模型_如何测量预测模型或算法的准确性第1部分。
  13. 如何使用Movavi Video Editor去除影片中的声音或音乐
  14. 乐行天下激光雷达文件升级及wifi配置(Android系统版本)
  15. 【数据库基础】01_数据库概述与MySQL语法基础
  16. SpringBoot之——动态数据源(多数据源自动切换)
  17. oracle ebs ar 表,Oracle EBS R12 AR常用表
  18. 收藏,全网开发者都在学的26门AI课程!
  19. 公众号开发——自动回复功能
  20. [海蜘蛛] 海蜘蛛 V8 全线无限试用版 免费发布破解教程

热门文章

  1. 给Angular应用增添搜索Search功能
  2. 使用Excel导入数据到SAP Cloud for Customer系统
  3. CRM WebClient UI里Sales area的保存原理
  4. year range in CRM Fiori Sales Pipeline
  5. how does UI Framework get url of detail page - _router
  6. ABAP开发者上云的时候到了 - 现在大家可以免费使用SAP云平台ABAP环境的试用版了
  7. How is new Appoinment id generated in my task followup scenario
  8. SAP plant and location
  9. 如何在Marketing Cloud Launchpad里打开外部链接
  10. WordPress同Kyma成功建立连接后,存放在mysql里的Kyma entry