背景
前段时间利用Docker部署了hadoop集群和spark,也简单的提交了任务。但是肯定有一个疑问,如果我们要执行定时任务怎么办呢?或者我们执行复杂的具有顺序的多任务怎么办?在大数据中,这种场景非常常见,一个大数据任务通常由大量的任务组成,并且可能是shell脚本、mapreduce任务、spark任务等,并且任务之间存在依赖关系。手动执行这种原始办法虽然可以,但是人总有出错的时候。今天要带来的一款具有复杂任务调度能力的框架-Azkaban,也支持定时调度。
Azkaban介绍
Azkaban是由Linkedin开源的一个批量工作流任务调度器
Azkaban特点
-
兼容任何版本的hadoop
-
易于使用的Web用户界面
-
简单的工作流的上传
-
方便设置任务之间的关系
-
调度工作流
-
模块化和可插拔的插件机制
-
认证/授权(权限的工作)
-
能够杀死并重新启动工作流
-
有关失败和成功的电子邮件提醒
上面的描述太抽象?一个技术要想了解,必须得自己捣鼓一下,接下来我将用Docker来部署,Docker用来学习安装软件不要太舒服,一来它可以很方便的给你提供Linux环境,二来不用将软件装在自己电脑上,久而久之电脑变得很卡特别是win环境。