集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:400-111-8989  |   联系客服   |
当前位置:主页 > 培训课程 > 大数据 >

成都大数据培训:基于Azkaban协调时序任务执行

发布者: 成都达内     浏览次数:     发布时间:2021-04-02 10:35:51

一、Azkaban概述 1、任务时序 在数据服务的业务场景中,很常见的业务流程就是日志文件经过大数据分析,再向业务输出结果数据;在该过程中会有很多任务需要执行,并且很难精准把握...

  一、Azkaban概述

  1、任务时序

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

  成都大数据培训:基于Azkaban协调时序任务执行

  大致执行顺序如下:

  业务日志文件同步到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 -p123456

  mysql> create database azkaban_test;

  mysql> use azkaban_test;

  mysql> source /opt/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql

  查看表

  成都大数据培训:基于Azkaban协调时序任务执行

  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=mysql

  mysql.port=3306

  mysql.host=localhost

  mysql.database=azkaban_test

  mysql.user=root

  mysql.password=123456

  mysql.numconnections=100

  # Azkaban Jetty server properties.

  jetty.maxThreads=25

  jetty.ssl.port=8443

  jetty.port=8081

  jetty.keystore=keystore

  jetty.password=123456

  jetty.keypassword=123456

  jetty.truststore=keystore

  jetty.trustpassword=123456

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

  用户配置

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

  增加一个管理员用户:

  azkaban-users

  user username="admin" password="admin" roles="admin,metrics" /

  /azkaban-users

  成都大数据培训:基于Azkaban协调时序任务执行

  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=mysql

  mysql.port=3306

  mysql.host=localhost

  mysql.database=azkaban_test

  mysql.user=root

  mysql.password=123456

  mysql.numconnections=100

  7、启动服务器

  Web服务

  [root@hop01 bin]# pwd

  /opt/azkaban/server/bin

  [root@hop01 bin]# ll

  total 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/

  成都大数据培训:基于Azkaban协调时序任务执行

  三、操作案例

  1、入门案例

  创建command类型job

  [root@hop01 flow_01]# pwd

  /opt/azkaban/testJob/flow_01

  [root@hop01 flow_01]# vim simple.job

  type=command

  command=echo 'mySimpleJob'

  打成zip包

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

  创建项目

  成都大数据培训:基于Azkaban协调时序任务执行

  上传任务包

  成都大数据培训:基于Azkaban协调时序任务执行

  执行任务

  成都大数据培训:基于Azkaban协调时序任务执行

  2、任务顺序执行

  创建任务A

  [root@hop01 flow_02]# vim simpleA.job

  type=command

  command=echo 'simplejobA'

  创建任务B

  [root@hop01 flow_02]# vim simpleB.job

  type=command

  dependencies=simpleA

  command=echo 'simplejobB'

  打包任务

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

  成都大数据培训:基于Azkaban协调时序任务执行

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

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:400-111-8989

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:400-111-8989

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:400-111-8989

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:400-111-8989

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:400-111-8989

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:400-111-8989

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:400-111-8989

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56 蜀ICP备18021046号-3