Azkaban是一中调度任务,可以清晰的看到每天任务跑的状况和日志,分为web端和exe端。
老的版本只支持一个执行器,3.0.0以上版本支持多执行器,一个执行器挂掉,不影响任务执行,多台机器同时也分担了压力
访问azkaban web页面
登陆进入
首页有四个菜单
-
projects:最重要的部分,创建一个工程,所有flows将在工程中运行。
-
scheduling:显示定时任务
-
executing:显示当前运行的任务
-
history:显示历史运行任务
点击create project
点击upload上传你的job任务压缩文件
Job文件描述:
mid_user_article_column.job
#mid_user_article_column.job
day=${azkaban.flow.start.day}
type=command
User.to.proxy=news
command=/home/news/xxx/shell/user_profile_shell/run_single_dev.sh /home/news/xxx/shell/user_profile_shell/azkabanTest/mid_user_article_column.sh ${day}
mid_user_kw.job
#mid_user_kw.job
day=${azkaban.flow.start.day}
type=command
User.to.proxy=news
dependencies=mid_user_article_act
command=/home/news/xxx/shell/user_profile_shell/run_single_dev.sh /home/news/xxx/shell/user_profile_shell/azkabanTest/mid_user_kw.sh ${day}
mid_user_kw_all.job
#mid_user_kw_all.job
day=${azkaban.flow.start.day}
type=command
User.to.proxy=news
dependencies=mid_user_kw
command=/home/news/xxx/shell/user_profile_shell/run_single_dev.sh /home/news/xxx/shell/user_profile_shell/azkabanTest/mid_user_kw_all.sh ${day}
将job资源文件都放到一个文件夹打包成zip文件,上传到刚才那个upload上
然后点击Execute Flow
Flow view:流程视图。可以禁用,启用某些job[换行符]Notification:定义任务成功或者失败是否发送邮件[换行符]Failure Options:定义一个job失败,剩下的job怎么执行[换行符]Concurrent:并行任务执行设置[换行符]Flow Parametters:参数设置。
这是一个串行的任务
这里配置Failure Emails和Success Emails
这边有个选择Failure Options的时候可以选择的三种情况
这边的是传入参数,由于azkaban.flow.start.day这个参数是执行job前会自动加载的,在job文件中直接赋值给了day,就不用在这边添加了
这样就是每天凌晨三点执行,设置执行时间
-
然后一直点击下一步会跳到这个页面(scheduling:显示定时任务
)
然后查看当前运行的任务
点击他的id可以查看到详细的流程
点击Job List
绿色代表成功,蓝色是运行,红色是失败。可以查看job运行时间,依赖和日志,点击details可以查看各个job运行情况。
然后回到一开始的界面
将另一个也配置一下,在同一时间跑任务,这两个flow就是并行的了。最后查看一下history,可以看到之前跑的任务