千家信息网

基于Azkaban协调时序任务执行的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下基于Azkaban协调时序任务执行的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、Azkaban概述1、任务时序在数据服务的业务场景中,很常见的业务流程
千家信息网最后更新 2026年11月01日基于Azkaban协调时序任务执行的示例分析

小编给大家分享一下基于Azkaban协调时序任务执行的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一、Azkaban概述

1、任务时序

在数据服务的业务场景中,很常见的业务流程就是日志文件经过大数据分析,再向业务输出结果数据;在该过程中会有很多任务需要执行,并且很难精准把握任务执行的结束时间,但是又希望整个任务链尽快结束释放资源。

大致执行顺序如下:

  • 业务日志文件同步到HDFS文件系统;

  • 经过Hadoop执行分析计算过程;

  • 结果数据在导入数仓进行存储;

  • 最终需要把数仓内数据同步到业务库;

这样的流程不必业务中任务调度,时间基本是可预估的,只要把握留足任务间隔时间即可,大数据的任务链路通常需要一个结束直接启动另一个,以此降低时间成本,初入数据服务公司时,就发生过因为同步任务执行结束但是最后的个别CSV数据文件未生成结束的案例,导致近百万的分析数据同步更新业务库失败。

2、Azkaban简介

Azkaban是由Linkedin公司推出的可以管理批量工作流任务的调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

Azkaban特点和优势

  • 提供功能清晰,简单易用的 Web UI 界面;

  • 作业配置简单,任务作业依赖关系清晰;

  • 提供可扩展的组件;

  • 基于Java语言开发,易于二次开发;

相比较于Oozie配置工作流的过程是编写大量的XML配置,并且其代码复杂度比较高,不易于二次开发,Azkaban则显得轻量级,功能和用法相对简单和容易使用。

二、服务安装

1、核心包

Web服务

azkaban-web-server-2.5.0.tar.gz

执行服务

azkaban-executor-server-2.5.0.tar.gz

SQL脚本

azkaban-sql-script-2.5.0.tar.gz

2、安装路径

上传上面三个安装包,并解压操作。

[root@hop01 azkaban]# pwd/opt/azkaban[root@hop01 azkaban]# tar -zxvf azkaban-web-server-2.5.0.tar.gz[root@hop01 azkaban]# tar -zxvf azkaban-executor-server-2.5.0.tar.gz[root@hop01 azkaban]# tar -zxvf azkaban-sql-script-2.5.0.tar.gz[root@hop01 azkaban]# mv azkaban-web-2.5.0/ server[root@hop01 azkaban]# mv azkaban-executor-2.5.0/ executor

3、MySQL导入脚本

[root@hop01 ~]# mysql -uroot -p123456mysql> create database azkaban_test;mysql> use azkaban_test;mysql> source /opt/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql

查看表

4、SSL配置

[root@hop01 opt]# keytool -keystore keystore -alias jetty -genkey -keyalg RSA

生成文件:keystore

拷贝到AzkabanWeb服务器目录下:

[root@hop01 opt]# mv keystore /opt/azkaban/server/

5、Web服务配置

基础配置

[root@hop01 conf]# pwd/opt/azkaban/server/conf[root@hop01 conf]# vim azkaban.properties

核心修改内容:MySQL和Jetty。

default.timezone.id=Asia/Shanghai# Azkaban MySQL server properties.database.type=mysqlmysql.port=3306mysql.host=localhostmysql.database=azkaban_testmysql.user=rootmysql.password=123456mysql.numconnections=100# Azkaban Jetty server properties.jetty.maxThreads=25jetty.ssl.port=8443jetty.port=8081jetty.keystore=keystorejetty.password=123456jetty.keypassword=123456jetty.truststore=keystorejetty.trustpassword=123456

这里配置符合本地配置参数即可。

用户配置

[root@hop01 conf]# vim azkaban-users.xml

增加一个管理员用户:

    

6、Executor服务配置

[root@hop01 conf]# pwd/opt/azkaban/executor/conf[root@hop01 conf]# vim azkaban.properties

核心修改内容:MySQL和时区。

default.timezone.id=Asia/Shanghai# Azkaban MySQL server properties.database.type=mysqlmysql.port=3306mysql.host=localhostmysql.database=azkaban_testmysql.user=rootmysql.password=123456mysql.numconnections=100

7、启动服务器

Web服务

[root@hop01 bin]# pwd/opt/azkaban/server/bin[root@hop01 bin]# lltotal 16-rwxr-xr-x 1 root root  161 Apr 21  2014 azkaban-web-shutdown.sh-rwxr-xr-x 1 root root 1275 Apr 21  2014 azkaban-web-start.sh

这里分别是启动和关闭的脚本。

[root@hop01 bin]# /opt/azkaban/server/bin/azkaban-web-start.sh

Executor服务

[root@hop01 bin]# /opt/azkaban/executor/bin/azkaban-executor-start.sh

启动日志

两个服务的关键尾行日志:

Azkaban Server running on ssl port 8443.Azkaban Executor Server started on port 12321

登录界面

注意这里是基于https协议:

https://hop01:8443/

三、操作案例

1、入门案例

创建command类型job

[root@hop01 flow_01]# pwd/opt/azkaban/testJob/flow_01[root@hop01 flow_01]# vim simple.jobtype=commandcommand=echo 'mySimpleJob'

打成zip包

[root@hop01 flow_01]# zip -q -r simpleJob.zip simple.job

创建项目

上传任务包

执行任务

2、任务顺序执行

创建任务A

[root@hop01 flow_02]# vim simpleA.jobtype=commandcommand=echo 'simplejobA'

创建任务B

[root@hop01 flow_02]# vim simpleB.jobtype=commanddependencies=simpleAcommand=echo 'simplejobB'

打包任务

[root@hop01 flow_02]# zip -q -r simpleTwoJob.zip simpleA.job simpleB.job

同样的操作方式,两个任务放在zip包中,通过Web服务上传,观察执行效果即可。

看完了这篇文章,相信你对"基于Azkaban协调时序任务执行的示例分析"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

任务 服务 配置 数据 业务 文件 分析 工作 工作流 日志 时间 同步 时序 核心 案例 流程 用户 界面 脚本 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会主任 美国互联网保险保险科技 广州互联网科技公司 互联网科技视频 亿策互联网科技 天下捷融互联网科技 互联网公司会议桌创意科技软装饰 汉立互联网科技有限公司联系电话 上海电发互联网科技有限公司 温州喔噻互联网科技有限公司 互联网金融科技公司干啥的 互联网科技有哪些公司 消费医药和互联网科技 国大互联网教育科技有限公司工作 华夏恒生互联网科技013171 用友工业互联网科技发展 山东星卡互联网科技有限公司官网 互联网科技机房 北京瑞云互联网科技有限公司 恒生科技互联网指数十大成分股 伟宏互联网科技 互联网品科技 互联网 科技 安徽鑫晟辉互联网科技 互联网巨头投资的硬核科技 互联网公司会议桌创意科技软装饰 银川新华互联网科技学校地址 和信科技工业互联网 科技大学互联网 宁波允成互联网科技有限公司
0