Azkaban安装部署

本文介绍了Azkaban的工作流调度系统概述,包括其功能和特点,与其他调度系统的对比,以及Azkaban的三大组件。详细阐述了最新版3.9.1的安装部署步骤,包括编译、解压、MySQL数据库配置、Web和Executor服务器的启动。最后,文章提及了Azkaban的使用实践,如登录、创建工程等。
摘要由CSDN通过智能技术生成

一、Azkaban概述

1.1 什么是Azkaban

​ Azkaban是由Linkedin公司推出的一个批量工作流任务调度器, 主要用于在一个工作流内以一个特定的顺序运行一组工作和流程, 它的配置是通过简单的key:****value****对的方式,通过配置中的 Dependencies来设置依赖关系。 Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的 web用户界面维护和跟踪你的工作流。

由于Azkaban具有轻量可插拔、友好的WebUI、SLA告警、完善的权限控制、易于二次开发等优点,也得到了广泛应用。

1.2 Azkaban功能和特点:

  1. 兼容任何版本的hadoop

  2. 易于使用的Web 用户界面

  3. 简单的工作流的上传

  4. 方便设置任务之间的关系

  5. 调度工作流

  6. 模块化和可插拔的插件机制

  7. 认证/授权(权限的工作)

  8. 能够杀死并重新启动工作流

  9. 有关失败和成功的电子邮件提醒

1.3 常见工作流调度系统

1)简单的任务调度:直接使用crontab 实现;
2)复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如ooize、azkaban 等

1.4 Azkaban框架

Azkaban 由三个关键组件构成:

azkaban

1) AzkabanWebServer AzkabanWebServer是整个 Azkaban工作流系统的主要管理者,
它用户登录认证、 负责 project管理、 定时执行工作流、跟踪工作流执行进度等一系列任务。
2) AzkabanExecutorServer 负责具体的工作流的提交、执行,它们通过 mysql数据库来协调任务的执行。
3) 关系型数据库( MySQL 存储大部分 执行流 状态, AzkabanWebServer和
AzkabanExecutorServer都需要访问数据库。

1.5 Azkaban下载地址

https://azkaban.github.io/downloads.html

二、Azkaban安装部署(最新版3.9.1)

2.1编译Azkaban

注:官方没有提供安装包,需自行编译且编译环境必须安装Git、Jdk1.8+

  • #拉取源码到本地
    [root@anker-db01 anker]# git clone  https://github.com/azkaban/azkaban.git
    Cloning into 'azkaban'...
    remote: Enumerating objects: 12, done.
    remote: Counting objects: 100% (12/12), done.
    remote: Compressing objects: 100% (12/12), done.
    remote: Total 38954 (delta 1), reused 0 (delta 0), pack-reused 38942
    Receiving objects: 100% (38954/38954), 50.25 MiB | 372.00 KiB/s, done.
    Resolving deltas: 100% (21564/21564), done.
    [root@anker-db01 anker]# ll
    total 4
    drwxr-xr-x 25 root root 4096 Jun  9 16:47 azkaban
    [root@anker-db01 anker]# cd azkaban/
    #执行打包命令
    [root@anker-db01 azkaban]# ./gradlew build -x test
    Starting a Gradle Daemon (subsequent builds will be faster)
    Parallel execution with configuration on demand is an incubating feature.
    .............省略中间内容...............
    BUILD SUCCESSFUL in 4m 29s
    76 actionable tasks: 71 executed, 5 from cache
    
    ##打好的包在如下路径(有tar.gz、zip包)
    [root@anker-db01 azkaban]# ll azkaban-web-server/build/distributions/
    total 39772
    -rw-r--r-- 1 root root 20297479 Jun  9 16:59 azkaban-web-server-3.91.0-1-g6126379.tar.gz
    -rw-r--r-- 1 root root 20425853 Jun  9 16:59 azkaban-web-server-3.91.0-1-g6126379.zip
    [root@anker-db01 azkaban]# ll azkaban-exec-server/build/distributions/
    total 31728
    -rw-r--r-- 1 root root 16238594 Jun  9 16:59 azkaban-exec-server-3.91.0-1-g6126379.tar.gz
    -rw-r--r-- 1 root root 16245079 Jun  9 16:59 azkaban-exec-server-3.91.0-1-g6126379.zip
    [root@anker-db01 azkaban]# ll azkaban-db/build/distributions/
    total 28
    -rw-r--r-- 1 root root  6445 Jun  9 16:56 azkaban-db-3.91.0-1-g6126379.tar.gz
    -rw-r--r-- 1 root root 17021 Jun  9 16:56 azkaban-db-3.91.0-1-g6126379.zip
    

2.2 安装部署Azkaban

2.2.1 解压并重命名

#将打好的包解压到 /usr/local/azkaban 目录下并重命名 web和executor
[root@anker-db01 distributions]# tar -xvf azkaban-web-server-3.91.0-1-g6126379.tar.gz -C /usr/local/azkaban/
[root@anker-db01 distributions]# tar -xvf azkaban-exec-server-3.91.0-1-g6126379.tar.gz -C /usr/local/azkaban/
[root@anker-db01 distributions]# tar -xvf azkaban-db-3.91.0-1-g6126379.tar.gz -C /usr/local/azkaban/
[root@anker-db01 azkaban]# mv azkaban-web-server-3.91.0-1-g6126379 server
[root@anker-db01 azkaban]# mv azkaban-exec-server-3.91.0-1-g6126379 executor
[root@anker-db01 azkaban]# tree -L 2
.
├── executor
│   ├── bin      #启动脚本
│   ├── conf     #配置文件
│   ├── lib      #依赖的jar包
│   └── plugins  #插件目录
└── server
    ├── bin
    ├── conf
    ├── lib
    └── web      #web页面目录

10 directories, 0 files

2.2.2Mysql 建库导表及用户创建赋权

mysql> create database azkaban charset=utf8;
Query OK, 1 row affected (0.04 sec)

mysql> use azkaban
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

慕容恺

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

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

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

打赏作者

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

抵扣说明:

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

余额充值