大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—
不温不火
,本意是希望自己性情温和
。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客主页:https://buwenbuhuo.blog.csdn.net/
此篇为一文带你快速了解Azkaban的实战应用。
[bigdata@hadoop002 executor]$ bin/azkaban-executor-start.sh
[bigdata@hadoop002 server]$ bin/azkaban-web-start.sh
注意:
先执行executor,再执行web,避免Web Server会因为找不到执行器启动失败
。
[bigdata@hadoop002 azkaban]$ mkdir jobs
[bigdata@hadoop002 jobs]$ vim first.job
// 内容
type=command
command=echo 'this is my first job'
[bigdata@hadoop002 jobs]$ zip first.zip first.job
注意:
目前,Azkaban上传的工作流文件只支持xxx.zip文件。zip应包含xxx.job运行作业所需的文件和任何文件(文件名后缀必须以.job结尾,否则无法识别)。作业名称在项目中必须是唯一的。
3. 把压缩包拖动到真实主机上
4. 通过azkaban的web管理平台创建project并上传job的zip包
第一个job:start.job
[bigdata@hadoop002 jobs]$ vim start.job
#start.job
type=command
command=touch /opt/module/buwenbuhuo.txt
第二个job:step1.job依赖start.job
[bigdata@hadoop002 jobs]$ vim step1.job
#step1.job
type=command
dependencies=start
command=echo "this is step1 job"
第三个job:step2.job依赖start.job
[bigdata@hadoop002 jobs]$ vim step2.job
#step2.job
type=command
dependencies=start
command=echo "this is step2 job"
第四个job:finish.job依赖step1.job和step2.job
[bigdata@hadoop002 jobs]$ vim finish.job
#finish.job
type=command
dependencies=step1,step2
command=echo "this is finish job"
[bigdata@hadoop002 jobs]$ zip jobs.zip start.job step1.job step2.job finish.job
使用Azkaban调度java程序
package com.buwenbuhuo.azkaban;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* @author 卜温不火
* @create 2020-05-19 12:40
* com.buwenbuhuo.azkaban - the name of the target package where the new class or interface will be created.
* azkaban0519 - the name of the current project.
*/
public class JavaJob {
public static void main(String[] args) throws IOException {
// 根据需求编写具体代码
FileOutputStream fos = null;
try {
fos = new FileOutputStream("/opt/module/azkaban_0519.txt");
fos.write("this is a java job".getBytes());
}catch (IOException e){
e.printStackTrace();
}finally {
try{
fos.close();
} catch (IOException e){
e.printStackTrace();
}
}
}
}
type=javaprocess
java.class=com.buwenbuhuo.azkaban.JavaJob
classpath=./azkaban-0519-1.0-SNAPSHOT.jar
[bigdata@hadoop002 jobs]$ cd ..
[bigdata@hadoop002 azkaban]$ cd ..
[bigdata@hadoop002 module]$ ll
#hdfs job
type=command
command=/opt/module/hadoop-2.7.2/bin/hadoop fs -mkdir /azkaban
// 先启动hdfs和yarn
[bigdata@hadoop002 module]$ start-dfs.sh
[bigdata@hadoop003 module]$ start-yarn.sh
mapreduce任务依然可以使用azkaban进行调度
#mapreduce job
type=command
command=/opt/module/hadoop-2.7.2/bin/hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input /output_0519
好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”
一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注
我哦!