当前位置:   article > 正文

利用Azkaban来完成大数据的任务调度_azkaban完成

azkaban完成

Azkaban简介

Azkaban是一款有LinkedIn开源的任务调度系统,使用该系统可以完成任务的定时调度,执行,任务分片等操作。
官方是这么介绍的:

zkaban was implemented at LinkedIn to solve the problem of Hadoop job dependencies.We had jobs that needed to run in order, from ETL jobs to data analytics products.
Initially a single server solution, with the increased number of Hadoop users over the years, Azkaban has evolved to be a more robust solution.

azkaban在linkedIn内部经常被用来作ETL和大数据分析相关的任务调度。
相对于我们比较熟悉的crontab命令,azkaban可以认为是一种更高级的,能够支持任务的分片与自动执行,同时封装有基于jetty的web ui的这么一款专业的任务调度系统。于此同时,国内也有比较著名的当当网开源的一款任务调度系统,elasticjob.
不过,相对于azkaban,笔者更喜欢使用azkaban,因为其web ui界面更加直观,能够看到不同的job之间的依赖关系,同这这个任务调度系统也更轻量化。

Azkaban的架构

azkaban使用java开发,封装了jetty作为轻量的web服务器,使用web ui来操控,web ui能够直观地看到不同的任务之间的依赖关系,azkaban可以单点部署,也可以双机部署,对于一般的情况,单点部署就足够了。
他的架构示意图官方是这么给出的:
azkaban架构图
官方是这么介绍的:

Azkaban consists of 3 key components:
Relational Database (MySQL)
AzkabanWebServer
AzkabanExecutorServer

在我们很多工程情况下,webserver 就是 executor server,这样就是单点部署,同时,需要我们安装mysql作为持久化的数据库。

Azkaban做什么?

我们用azkaban主要解决的业务场景是:

  1. 对日志等原始数据进行ETL
  2. 将ETL后的数据存储起来,可以是mongodb,也可以是hbase等
  3. 对数据进行分析
  4. 任务完成或失败通知管理员

这样,我们就可以利用azkaban来进行任务调度,主要应用场景就是离线计算了。
在上面,我们已经知道了,大数据离线计算相关内容是存在一种依赖关系的,最简单的例子是先要ETL,然后才能进行分析。
Azkaban可以在我们睡觉的时候,帮我们完成日志的ETL和自动分析任务的创建和监控,无人值守,方便轻松。

Azkaban安装

mysql

首先得安装Mysql,然后配置mysql,下面按照官方的步骤,进行修改如下:
首先登录到mysql shell,然后输入密码:

mysql -uroot -p
  • 1
Create a database for Azkaban. For example:

创建数据库,名为azkaban

mysql> CREATE DATABASE azkaban;
  • 1
Creat
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/721434
推荐阅读
相关标签
  

闽ICP备14008679号