azkaban调度

1、概述

azkaban是一套调度系统,常用大数据作业调度。azkaban包括web和executor两套程序,web主要完成展示和交互,executor上完成调度和作业提交执行。

2、安装

3、启动

3.1 启动web程序

$>/soft/azkaban/web/bin/azkaban-web-start.sh

3.2 执行executor程序

$>/soft/azkaban-exec/bin/azkaban-executor-start.sh

4、登录webui

http://s101:8081

5、登录界面

6、创建工程

6.1 点击创建项目按钮

6.2 输入项目信息

6.3 查看创建项目

7、创建job文件和依赖关系

7.1 编写job文件

job文件以job作为扩展名,job中涉及的sh脚本需要保证在executor节点上存在,实际执行时都是由executor在本机上执行特定的shell脚本。

7.1.1 加载数据到原生表job

[1_load_data_to_hive_raw_logs.job],该job是第一个job,没有依赖。

type=command
command=sh /home/centos/umeng/load_data_to_hive_raw_logs.sh
7.1.2 叉分startuplogs并转储job

[2_1_fork_startuplogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_startuplogs.sql forkstartuplogs
dependencies=1_load_data_to_hive_raw_logs
7.1.3 叉分eventlogs并转储job

[2_2_fork_eventlogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_eventlogs.sql forkeventlogs
dependencies=1_load_data_to_hive_raw_logs
7.1.4 叉分errorlogs并转储job

[2_3_fork_errorlogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_errorlogs.sql forkerrorlogs
dependencies=1_load_data_to_hive_raw_logs
7.1.5 叉分usagelogs并转储

[2_4_fork_usagelogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_usagelogs.sql forkusagelogs
dependencies=1_load_data_to_hive_raw_logs
7.1.6 job 叉分pagelogs并转储job

[2_5_fork_pagelogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_pagelogs.sql forkpagelogs
dependencies=1_load_data_to_hive_raw_logs
7.1.7 编写收尾job

job之间可以指定依赖,多个依赖使用,分割。

[3_end.job]

type=noop
dependencies=2_1_fork_startuplogs,2_2_fork_eventlogs,2_3_fork_errorlogs,2_4_fork_usagelogs,2_5_fork_pagelogs
7.1.8 总结

以上共生成7个job文件,如下图所示:

8、将所有job打成一个zip文件

8.1 安装zip命令

centos 7默认没有集成zip命令,需要单独安装。

#安装zip命令
$>sudo yum install -y zip

8.2 打包job文件到一个zip中

$>cd /home/centos/umeng/job
#将当前所有文件打成1.zip文件
$>zip 1.zip *

8.3 1.zip文件内容如下

9、上传zip文件

9.1 点击上传按钮

9.2 选中zip文件

9.3 查看上传结果

9.4 展开job,查看依赖关系

10、job的执行与调度

job在上传之后,可以单独执行某个job,带依赖关系也可以不带依赖关系。执行通常用来测试,测试通过后就可以进行调度作业。

10.1 job执行

10.1.1 展开job的依赖列表

10.1.2 执行无依赖job

10.1.3 执行有依赖job

10.1.4 执行无依赖job

azkaban调度的更多相关文章

  1. 第2节 azkaban调度:16、azkaban的介绍以及azkaban的soloserver的安装使用

    2. 工作流调度器azkaban 2.1 概述 azkaban官网: https://azkaban.github.io/ 2.1.1为什么需要工作流调度系统 l  一个完整的数据分析系统通常都是由大 ...

  2. 第2节 azkaban调度:1、azkaban的调度任务使用

    2.4 Azkaban实战 Azkaba内置的任务类型支持command.java Command类型单一job示例 创建job描述文件 创建文本文件,更改名称为mycommand.job 注意后缀. ...

  3. Azkaban调度器

    Azkaban介绍 Azkaban 是由 Linkedin 公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程.Azkaban 使用 job 配置文件建立任务之间 ...

  4. 第2节 azkaban调度:17、azkaban的两个服务模式的安装

    2.3.3.azkaban两个服务模式安装 1.确认所需软件: Azkaban Web服务安装包 azkaban-web-server-0.1.0-SNAPSHOT.tar.gz Azkaban执行服 ...

  5. 24.Azkaban调度脚本的编写

    启动azkaban 在启动了server和excutor之后,在浏览器打开azkaban,会发现不能打开,日志报这个错误 at sun.security.ssl.InputRecord.handleU ...

  6. Azkaban时区问题导致调度差1天

    设置了Azkaban调度是每日凌晨一次,如下: 但是调度历史上显示最近一次调度时间是 初步怀疑是因为时区问题导致,查看服务器时区如下 cat /etc/timezone 为Asia/Shanghai. ...

  7. 从源码看Azkaban作业流下发过程

    上一篇零散地罗列了看源码时记录的一些类的信息,这篇完整介绍一个作业流在Azkaban中的执行过程,希望可以帮助刚刚接手Azkaban相关工作的开发.测试. 一.Azkaban简介 Azkaban作为开 ...

  8. 分布式计算(三)Azkaban介绍

    转载自:Azkaban学习之路 (一)Azkaban的基础介绍 目录 一.为什么需要工作流调度器 二.工作流调度实现方式 三.常见工作流调度系统 四.各种调度工具对比 五.Azkaban 与 Oozi ...

  9. Azkaban学习之路 (一)Azkaban的基础介绍

    一.为什么需要工作流调度器 1.一个完整的数据分析系统通常都是由大量任务单元组成: shell 脚本程序,java 程序,mapreduce 程序.hive 脚本等 2.各任务单元之间存在时间先后及前 ...

随机推荐

  1. Ruby truthy and falsey

    在Ruby里只有false 和nil表示falsey link: https://gist.github.com/jfarmer/2647362

  2. poj1840 五项式等于0(哈希)

    题目传送门 题意很好懂,注意一下xi不能等于0 思路:智商检测题,一开始想着五重for暴力...Orz,后来移向(把a4a5移到右边)了发现减了1e8数量级的复杂度,再次Orz,所以直接三重循环,记录 ...

  3. Codeforces Round #347 (Div. 2) A

    Description Greatest common divisor GCD(a, b) of two positive integers a and b is equal to the bigge ...

  4. 及时从数据库中取得数据填放进Form表单的多选框中

    #写上以下代码就不用担心数据库添加了数据而不能及时获取了 def __init__(self, *args, **kwargs): #每次创建Form1对象时执行init方法 super(Form1, ...

  5. 1.2 rust cargo

    cargo是rust的编译与打包工具,可将rust打包成为一个可执行性文件.生成的可执行性文件不能跨系统的大版本,比如在linux7上打包,那么程序无法在linux6上执行. # cargo new ...

  6. 8php字符串的方法

    <?php/** * Created by PhpStorm. * User: DY040 * Date: 2017/9/8 * Time: 16:46 *//*php也有转义字符/*///ec ...

  7. Hbase 表操作

    1. list 操作 2. 创建table column family, 3. 插入数据: put 'user' 3. 检索数据: scan table

  8. ubuntu 启动 ssh 服务

    $ sudo service ssh start $ sudo /etc/init.d/ssh start 重启 $ sudo /etc/init.d/ssh restart $ sudo servi ...

  9. 正确理解ThreadLocal:ThreadLocal中的值并不一定是完全隔离的

    首先再讨论题主的这个观点之前我们要明确一下ThreadLocal的用途是什么? ThreadLocal并不是用来解决共享对象的多线程访问问题. 看了许多有关ThreadLocal的博客,看完之后会给人 ...

  10. 加解密---Java安全

    一.概述 1.JCA(Java Cryptography Architecture) 提供基本的加密框架(消息摘要.数字签名......) 2.JCE(Java Cryptography Extens ...