AzkabanAzkaban使用实战

1.shell command调度

  • 创建job描述文件
vi command.job
#command.job
type=command                                                    
command=echo 'hello'
  • 将job资源文件打包成zip文件
    zip command.job
  • 通过azkaban的web管理平台创建project并上传job压缩包
    首先创建Project
  • 上传zip包
  • 启动执行该job

2.job依赖调度

  • 创建有依赖关系的多个job描述
    第一个job:foo.job
# foo.job
type=command
command=echo foo
  • 第二个job:bar.job依赖foo.job
# bar.job
type=command
dependencies=foo
command=echo bar
  • 将所有job资源文件打到一个zip包中
  • 在azkaban的web管理界面创建工程并上传zip包
  • 启动工作流flow

3.HDFS任务调度

  • 创建job描述文件
# fs.job
type=command
command=/home/hadoop/apps/hadoop-2.6.1/bin/hadoop fs -mkdir /azaz
  • 将job资源文件打包成zip文件
  • 通过azkaban的web管理平台创建project并上传job压缩包
  • 启动执行该job

4.MAPREDUCE任务调度

mr任务依然可以使用command的job类型来执行

  • 创建job描述文件,及mr程序jar包(示例中直接使用hadoop自带的example jar)
# mrwc.job
type=command
command=/home/hadoop/apps/hadoop-2.6.1/bin/hadoop  jar hadoop-mapreduce-examples-2.6.1.jar wordcount /wordcount/input /wordcount/azout
  • 将所有job资源文件打到一个zip包中
  • 在azkaban的web管理界面创建工程并上传zip包
  • 启动job

5.HIVE脚本任务调度

  • 创建job描述文件和hive脚本
    Hive脚本: test.sql
use default;drop table aztest;create table aztest(id int,name string) row format delimited fields terminated by ',';load data inpath '/aztest/hiveinput' into table aztest;create table azres as select * from aztest;insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest; 
  • Job描述文件:hivef.job
# hivef.job
type=command
command=/home/hadoop/apps/hive/bin/hive -f 'test.sql'
  • 将所有job资源文件打到一个zip包中创建工程并上传zip包,启动job

6.定时任务调度

除了手动立即执行工作流任务外,azkaban也支持配置定时任务调度。开启方式如下:
首页选择待处理的project




上述图片中,选择左边schedule表示配置定时调度信息,选择右边execute表示立即执行工作流任务。