azkaban调度的使用
Azkaban是一个开源的任务调度系统,用于负责任务的调度运行(如数据仓库调度),用以替代linux中的crontab。
Azkaban是一个分布式工作流管理器,以解决Hadoop作业依赖性问题。我们有需要按顺序运行的工作,从ETL工作到数据分析产品。
1.azkaban启动,在xshell中开启两个窗口来启动
在azkaban web服务器目录下执行启动命令
cd /opt/azkaban2.5/azkaban-web-2.5.0/
bin/azkaban-web-start.sh
注:在web服务器根目录运行
执行服务器
在执行服务器目录下执行启动命令
cd /opt/azkaban2.5/azkaban-executor-2.5.0
bin/azkaban-executor-start.sh
注:只能要执行服务器根目录运行
启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://192.168.226.130:8443 ,即可访问azkaban服务了.注意:https!!!!!!
用户密码都是azkaban,点击 login.
2.azkaban开发:
dim.job文件内容:
# dim job
type=command
dependencies=ods ##有依赖的时候需要写,没有的时候则不需要写
command=sh /los/dim/dim_update.sh
-----然后把这几个job打包,格式是zip格式!!!!
-----现在azkaban中创建一个工程project,起好名称
-----上传(upload)刚刚的压缩包到azkaban这个工程中
-----然后设置调度周期,每天自动运行
调度系统应该具有的功能:
1. 能够执行任务(命令行)
2. 周期性调度任务和解决任务的依赖
3. 历史任务和日志记录,回溯和跟踪
4. 任务成功,失败,超时 通知
5. 任务管理功能,创建任务,删除任务,停止任务
6. 日期参数的传递
7. 任务的优先级 0--关键任务 4--普通任务 9-一般任务
8. 任务相关描述 作者,责任人,任务状态(运行中,成功,失败,准备中,阻塞),所属业务(project)