Azkaban基础总结

第一章 Azkaban概述

1.1 为什么需要工作流调度系统

1)一个完整的数据分析系统通常都是由大量任务单元组成:

Shell脚本程序,Java程序,MapReduce程序、Hive脚本等

2)各任务单元之间存在时间先后及前后依赖关系

3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;
为什么需要工作流调度系统

1.2 常见工作流调度系统

1)简单的任务调度:直接使用Linux的Crontab来定义;

2)复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如Azkaban、Ooize、Airflow、DolphinScheduler等。

1.3 Azkaban与Oozie对比

对市面上最流行的两种调度器,给出以下详细对比,以供技术选型参考。总体来说,Ooize相比Azkaban是一个重量级的任务调度系统,功能全面,但配置使用也更复杂。如果可以不在意某些功能的缺失,轻量级调度器Azkaban是很不错的候选对象。

第二章 Azkaban入门

2.1 集群模式安装

2.1.1 配置MySQL

1)首先应该下载安装Azkaban,并且需要配置好mysql(如若不会,欢迎询问)

2)启动MySQL

mysql -uroot -p123456

3)登陆MySQL,创建Azkaban数据库

create database azkaban;

4)创建azkaban用户并赋予权限

创建Azkaban用户,任何主机都可以访问Azkaban,密码是123456

CREATE USER 'azkaban'@'%' IDENTIFIED BY '123456';

赋予Azkaban用户增删改查权限

GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;

5)创建Azkaban表,完成后退出MySQL

mysql> use azkaban;
mysql> source /opt/module/azkaban/azkaban-db-3.84.4/create-all-sql-3.84.4.sql
mysql> quit;

6)更改MySQL包大小;防止Azkaban连接MySQL阻塞

sudo vim /etc/my.cnf

在[mysqld]下面加一行max_allowed_packet=1024M,修改以字节发送给服务器的最大数据包大小:

max_allowed_packet=1024M

7)重启MySQL

sudo systemctl restart mysqld

2.1.2 配置Executor Server

Azkaban Executor Server处理工作流和作业的实际执行。

1)编辑azkaban.properties

vim /opt/module/azkaban/azkaban-exec/conf/azkaban.properties

修改如下标红的属性

#...
default.timezone.id=Asia/Shanghai
#...
azkaban.webserver.url=http://hadoop102:8081
#...
database.type=mysql
mysql.port=3306
mysql.host=hadoop102
mysql.database=azkaban
mysql.user=azkaban
mysql.password=123456
mysql.numconnections=100

在最后添加

executor.port=12321
executor.metric.reports=true
executor.metric.milisecinterval.default=60000

2)编辑commonprivate.properties

vim /opt/module/azkaban/azkaban-exec/plugins/jobtypes/commonprivate.properties

添加

azkaban.native.lib=false

若不添加这个参数,在执行Job时会报错:

azkaban.utils.UndefinedPropertyException: Missing required property 'azkaban.native.lib'
	at azkaban.utils.Props.getString(Props.java:450)
	at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:242)
	at azkaban.execapp.JobRunner.runJob(JobRunner.java:823)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值