介绍:
Azkaban 是个简单的批处理调度器,用来构建和运行 Hadoop 作业或其他脱机过程。整体包括三部分webserver、dbserver、executorserver。
Azkaban是由Linkedin开源的一个Java项目,批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。
Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
Azkaban的功能特点
1.兼容所有版本的 Hadoop
2.基于 Web 的易用 UI
3.简单的 Web 和 HTTP 工作流上传
4.项目工作空间
5.工作流调度
6.模块化和插件化
7.支持认证和授权
8.可跟踪用户行为
9.失败和成功时的邮件提醒
10.SLA 警告和自动终止
11.失败作业的重试
一、安装准备
下载安装包:
1.1官网:
Downloads
1.2我的版本:
链接:https://pan.baidu.com/s/1zZ1tmUwQ_Rbig_hnYd-43w?pwd=kjky
提取码:kjky
二、安装部署
2.1上传tar包
将azkaban-db-3.84.4.tar.gz,azkaban-exec-server-3.84.4.tar.gz,azkaban-web-server-3.84.4.tar.gz上传到/tools目录下。
2.2解压
新建/training/azkaban目录,将所有tar包解压到这个目录上。
tar -zvxf azkaban-db-3.84.4.tar.gz -C /training/azkaban/
tar -zvxf azkaban-exec-server-3.84.4.tar.gz -C /training/azkaban/
tar -zvxf azkaban-web-server-3.84.4.tar.gz -C /training/azkaban/
2.3配置MySQL
###1登陆MySQL;
mysql -uroot -p
#输入密码
###2创建Azkaban数据库
create database azkaban;
###3创建azkaban用户并赋予权限
#设置密码有效长度4位及以上
set global validate_password_policy=0;
#设置密码策略最低级别
set global validate_password_length=4;
#创建Azkaban用户,任何主机都可以访问Azkaban,密码是000000
CREATE USER 'azkaban'@'%' IDENTIFIED BY '000000';
#赋予Azkaban用户增删改查权限
GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
###4创建Azkaban表,完成后退出MySQL
#创建azkaban用户并赋予权限
use azkaban;
source /training/azkaban/azkaban-db-3.84.4/create-all-sql-3.84.4.sql
###5完成后退出MySQL
quit;
2.4更改MySQL包大小
防止Azkaban连接MySQL阻塞
vim /etc/my.cnf
重启MySQL
sudo systemctl restart mysqld
2.5配置Executor Server
Azkaban Executor Server处理工作流和作业的实际执行。
编辑azkaban.properties;
vim azkaban.properties
#添加或者修改以下内容
default.timezone.id=Asia/Shanghai
azkaban.webserver.url=http://hadoop01:8081
executor.port=12321
database.type=mysql
mysql.port=3306
mysql.host=hadoop01
mysql.database=azkaban
mysql.user=azkaban
mysql.password=000000
mysql.numconnections=100
executor.metric.reports=true
executor.metric.milisecinterval.default=60000
2.6分发
同步azkaban-exec到所有节点
xsync /training/azkaban/azkaban-exec-server-3.84.4/
2.7启动executor
bin/start-exec.sh
必须进入到azkaban-exec-server-3.84.4路径,在所有台机器上都启动executor
注意:如果在/opt/module/azkaban/azkaban-exec目录下出现executor.port文件,说明启动成功
2.8激活executor
curl -G "hadoop01:$(<./executor.port)/executor?action=activate" && echo
如果所有机器都出现如下提示,则表示激活成功!
2.9配置Web Server
Azkaban Web Server处理项目管理,身份验证,计划和执行触发。
编辑azkaban.properties
...
default.timezone.id=Asia/Shanghai
...
database.type=mysql
mysql.port=3306
mysql.host=hadoop102
mysql.database=azkaban
mysql.user=azkaban
mysql.password=000000
mysql.numconnections=100
...
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
说明:
#StaticRemainingFlowSize:正在排队的任务数;
#CpuStatus:CPU占用情况
#MinimumFreeMemory:内存占用情况。测试环境,必须将MinimumFreeMemory删除掉,否则它会认为集群资源不够,不执行。
2.10修改azkaban-users.xml文件
添加root用户
<user password="123456" roles="metrics,admin" username="root"/>
2.11启动web server
必须进入到hadoop01的azkaban-web-server-3.84.4路径
bin/start-web.sh
三、验证安装
3.1验证
访问:
并用root用户登陆,密码:123456
安装完成!!!
作者水平低,如有错误,恳请指正!!!
版权归原作者 一个人的牛牛 所有, 如有侵权,请联系我们删除。