本篇博客,小菌为大家带来的时候大数据组件之一的——Azkaban的介绍。
1.Azkaban介绍
Azkaban是由linkedin(领英)公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
Azkaban功能特点:
- 提供功能清晰,简单易用的Web UI界面
- 提供job配置文件快速建立任务和任务之间的依赖关系
- 提供模块化和可插拔的插件机制,原生支持command、Java、Hive、Pig、Hadoop
- 基于Java开发,代码结构清晰,易于二次开发
2.Azkaban原理架构
mysql服务器: 存储元数据,如项目名称、项目描述、项目权限、任务状态、SLA规则等
AzkabanWebServer:对外提供web服务,使用户可以通过web页面管理。职责包括项目管理、权限授权、任务调度、监控executor。
AzkabanExecutorServer:负责具体的工作流的提交、执行。
3.Azkaban 三种部署模式
<1>solo server mode
该模式中webServer和executorServer运行在同一个进程中,进程名是AzkabanSingleServer。使用自带的H2数据库。这种模式包含Azkaban的所有特性,但一般用来学习和测试。
<2>two-server mode
该模式使用MySQL数据库, Web Server和Executor Server运行在不同的进程中。
<3>multiple-executor mode
该模式使用MySQL数据库, Web Server和Executor Server运行在不同的机器中。且有多个Executor Server。该模式适用于大规模应用。
我们初次学习,使用的部署模式为solo server mode
Azkanban想要正常使用是需要编译安装包的,因为编译的过程比较繁琐,所以在这里直接省去了编译的步骤,我们拿编译好的安装包做测试!!!
4.Azkaban安装部署
<1>solo-server模式部署
[1] 节点规划
HOST | 角色 |
---|---|
node1 | Web Server和Executor Server同一进程 |
[2]解压配置
解压Azkaban安装包
mkdir /export/servers/azkaban
tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz –C /export/servers/azkaban/
修改时区
vim conf/azkaban.properties
default.timezone.id=Asia/Shanghai #修改时区
取消默认内存设置
vim plugins/jobtypes/commonprivate.properties
添加:memCheck.enabled=false
azkaban默认需要3G的内存,剩余内存不足则会报异常
[3]启动验证
cd azkaban-solo-server-0.1.0-SNAPSHOT/
bin/start-solo.sh
注:启动/关闭必须进到azkaban-solo-server-0.1.0-SNAPSHOT/目录下。
AzkabanSingleServer(对于Azkaban solo‐server模式,Exec Server和Web Server在同一个进程中)
[4]登录web页面
输入URLhttp://node01:8081/
进入到azkaban的web界面
到这里,关于Azkaban的安装内容就结束了,受益的小伙伴们或者对大数据技术感兴趣的小伙伴记得关注小菌哟(^U^)ノ~YO