Azkaban 内置的任务类型支持 command、java
1 、单一 job 案例
1.案例实操
1)创建 job 描述文件
#command.job type=command command=mkdir /opt/module/test_azkaban
2) 将 job 资源文件打包成 zip 文件
注意: 目前,Azkaban 上传的工作流文件只支持 xxx.zip 文件。zip 应包含 xxx.job 运行作业所需的 文件和任何文件(文件名后缀必须以.job 结尾,否则无法识别)。作业名称在项目中必须是 唯一的。
3)通过 azkaban 的 web 管理平台创建 project 并上传 job 的 zip 包
首先创建 project

上传 zip 包

4)启动执行该 job



5)Job 执行成功

2 、邮件通知配置案例
1)修改配置文件
修改 server 的 conf 下的 azkaban.properties 文件

2)在网页上进行配置

3、多 job 工作流案例
1)创建有依赖关系的多个 job 描述
第一个 job:bar.job
# start.job type=command command=touch /opt/module/text.txt
第二个 job:step1.job 依赖 start.job
#step1.job type=command dependencies=start command=echo "this is step1 job"
第三个 job:step2.job 依赖 start.job
#step2.job type=command dependencies=start command=echo "this is step2 job"
第四个 job:finish.job 依赖 step1.job 和 step2.job
#finish.job type=command dependencies=step1,step2 command=echo "this is finish job"
2)将所有 job 资源文件打到一个 zip 包中上传

5)启动工作流 flow

6)查看结果

4、Java 操作任务
使用 Azkaban 调度 java 程序
依赖
1)编写 java 程序
package azkaban.AzkabanTest; import java.io.FileOutputStream; import java.io.IOException; public class ATest { public void run() throws IOException { // 根据需求编写具体代码 FileOutputStream fos = new FileOutputStream("/opt/module/azkaban/output.txt"); fos.write("this is a java progress".getBytes()); fos.close(); } public static void main(String[] args) throws IOException { ATest aTest = new ATest(); aTest.run(); } }
2)将 java 程序打成 jar 包,创建 lib 目录,将 jar 放入 lib 内
3)编写 job 文件
#azkabanJava.job type=javaprocess java.class=azkaban.AzkabanTest.ATest classpath=/opt/module/azkaban/lib/azkaban-1.0-SNAPSHOT.jar
4)将 job 文件打成 zip 包
5)通过 azkaban 的 web 管理平台创建 project 并上传 job 压缩包,启动执行该 job


5、HDFS 操作任务
1)创建 job 描述文件
#hdfs job type=command command=hadoop fs -mkdir /azkaban
2)将 job 资源文件打包成 zip 文件
3)通过 azkaban 的 web 管理平台创建 project 并上传 job 压缩包
4)启动执行该 job

5)查看结果
6、MapReduce 任务
1) 创建 job 描述文件,及 mr 程序 jar 包
#mapreduce job type=command command=hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input/* /output
2) 将所有 job 资源文件打到一个 zip 包中
3)在 azkaban 的 web 管理界面创建工程并上传 zip 包
4)启动 job
5)查看结果

7、Hive 脚本任务
注意hive启动

1)创建 job 描述文件和 hive 脚本
(1)Hive 脚本:test.sql
use default; drop table if exists aztest; drop table if exists azres; create external table aztest(id int, name string) row format delimited fields terminated by '\t' location '/student'; create table azres as select * from aztest; insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest;
(2)Job 描述文件:hive.job
#hive.job type=command command=/opt/module/hive/bin/hive -f 'test.sql'
3)在 azkaban 的 web 管理界面创建工程并上传 zip 包
4)启动 job
5)查看结果

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228521.html原文链接:https://javaforall.net
