数据仓库调度工具Azkaban的使用(一)

2.2 Work Flow 案例实操
在这里插入图片描述

2.2.1 HelloWorld 案例
1)在 windows 环境,新建 azkaban.project 文件,编辑内容如下
azkaban-flow-version: 2.0
注意:该文件作用,是采用新的 Flow-API 方式解析 flow 文件。
2)新建 basic.flow 文件,内容如下
nodes:

  • name: jobA
    type: command
    config:
    command: echo “Hello World”
    (1)Name:job 名称
    (2)Type:job 类型。command 表示你要执行作业的方式为命令
    (3)Config:job 配置
    3)将 azkaban.project、basic.flow 文件压缩到一个 zip 文件,文件名称必须是英文。
    4)在 WebServer 新建项目:http://hadoop102:8081/index
    5)给项目名称命名和添加项目描述
    6)first.zip 文件上传
    7)选择上传的文件
    8)执行任务流
    9)在日志中,查看运行结果
    !](https://img-blog.csdnimg.cn/97b14d60851849dc9891cd956562c711.png)

2.2.2 作业依赖案例
需求:JobA 和 JobB 执行完了,才能执行 JobC
具体步骤:
1)修改 basic.flow 为如下内容
nodes:

  • name: jobC
    type: command

jobC 依赖 JobA 和 JobB

dependsOn:

  • jobA
  • jobB
    config:
    command: echo “I’m JobC”
  • name: jobA
    type: command
    config:
    command: echo “I’m JobA”
  • name: jobB
    type: command
    config:
    command: echo “I’m JobB”
    (1)dependsOn:作业依赖,后面案例中演示
    2)将修改后的 basic.flow 和 azkaban.project 压缩成 second.zip 文件
    3)重复 2.3.1 节 HelloWorld 后续步骤。
    在这里插入图片描述

在这里插入图片描述

2.2.3 自动失败重试案例
需求:如果执行任务失败,需要重试 3 次,重试的时间间隔 10000ms
具体步骤:
1)编译配置流
nodes:

  • name: JobA
    type: command
    config:
    command: sh /not_exists.sh
    retries: 3
    retry.backoff: 10000
    参数说明:
    retries:重试次数
    retry.backoff:重试的时间间隔
    2)将修改后的 basic.flow 和 azkaban.project 压缩成 four.zip 文件
    3)重复 2.3.1 节 HelloWorld 后续步骤。
    4)执行并观察到一次失败+三次重试
    5)也可以点击上图中的 Log,在任务日志中看到,总共执行了 4 次。
    6)也可以在 Flow 全局配置中添加任务失败重试配置,此时重试配置会应用到所有 Job。
    案例如下:
    config:
    retries: 3
    retry.backoff: 10000
    nodes:
  • name: JobA
    type: command
    config:
    command: sh /not_exists.sh
    在这里插入图片描述](https://img-blog.csdnimg.cn/b8f46668f29a44138dc4760fa49f78b0.jpeg#pic_center)

在这里插入图片描述

2.2.4 手动失败重试案例
需求:JobA=》JobB(依赖于 A)=》JobC=》JobD=》JobE=》JobF。生产环境,任何 Job 都
有可能挂掉,可以根据需求执行想要执行的 Job。
具体步骤:
1)编译配置流
nodes:

  • name: JobA
    type: command
    config:
    command: echo “This is JobA.”
  • name: JobB
    type: command
    dependsOn:
  • JobA
    config:
    command: echo “This is JobB.”
  • name: JobC
    type: command
    dependsOn:
  • JobB
    config:
    command: echo “This is JobC.”
  • name: JobD
    type: command
    dependsOn:
  • JobC
    config:
    command: echo “This is JobD.”
  • name: JobE
    type: command
    dependsOn:
  • JobD
    config:
    command: echo “This is JobE.”
  • name: JobF
    type: command
    dependsOn:
  • JobE
    config:
    command: echo “This is JobF.”
    2)将修改后的 basic.flow 和 azkaban.project 压缩成 five.zip 文件
    3)重复 2.3.1 节 HelloWorld 后续步骤。
    Enable 和 Disable 下面都分别有如下参数:
    Parents:该作业的上一个任务
    Ancestors:该作业前的所有任务
    Children:该作业后的一个任务
    Descendents:该作业后的所有任务
    Enable All:所有的任务
    4)可以根据需求选择性执行对应的任务。
    在这里插入图片描述

在这里插入图片描述

第 3 章 Azkaban 进阶
3.1 JavaProcess 作业类型案例
JavaProcess 类型可以运行一个自定义主类方法,type 类型为 javaprocess,可用的配置为:
Xms:最小堆
Xmx:最大堆
classpath:类路径
java.class:要运行的 Java 对象,其中必须包含 Main 方法
main.args:main 方法的参数
案例:
1)新建一个 azkaban 的 maven 工程
2)创建包名:com.atguigu
3)创建 AzTest 类
package com.atguigu;
public class AzTest {
public static void main(String[] args) {
System.out.println(“This is for testing!”);
}
}
4)打包成 jar 包 azkaban-1.0-SNAPSHOT.jar
5)新建 testJava.flow,内容如下
nodes:

  • name: test_java
    type: javaprocess
    config:
    Xms: 96M
    Xmx: 200M
    java.class: com.atguigu.AzTest
    6)将 Jar 包、flow 文件和 project 文件打包成 javatest.zip
    7)创建项目=》上传 javatest.zip =》执行作业=》观察结果

在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据小理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值