单机部署
##远程克隆azkaban代码
git clone https://github.com/azkaban/azkaban.git
##编译测试版安装包
./gradlew build -x test
##解压安装包,下载的版本不同,压缩包名字也会不同,自己修改
tar -zxvf azkaban-solo-server/build/distributions/azkaban-solo-server-3.91.0-157-g71b0b7e.tar.gz -C /hdfs02/yqd/azkaban/azikaban_server/
##将安装包复制到一个顺眼的位置
cp -r azikaban_server/azkaban-solo-server-3.91.0-157-g71b0b7e /hdfs02/yqd/azikaban3.91
##启动(需要在azkaban根目录执行,否则会报错)
./bin/start-solo.sh
##关闭(需要在azkaban根目录执行,否则会报错)
./bin/shutdown-solo.sh
端口更改
azkaban默认启动端口为8081,若需要更改,可以在conf目录
下修改azkaban.properties的jetty.port参数
web界面
地址:http://172.17.52.243:8281/index
登陆默认账号密码:azkaban/azkaban
测试任务
创建项目
定义任务内容
- 1、创建test.sh,内容为:
#!/bin/bash
echo date >> /hdfs02/yqd/azikaban3.91/test.txt
这个是任务实际上要做的事情
- 2、创建mytest.job,内容为:
#command.job
type=command
command=sh test.sh
这个是定义任务类型,需要执行的脚本,还可以定义任务依赖等
- 3、资源打包
azkaban的任务创建需要把所有任务相关资源全部打包为.zip文件
- 4、上传到azkaban
我这里选错了,上传的是.zip
文件,懒得重新截图了
- 5、执行任务
文件上传后,会根据文件描述生成一个任务
点击execute flow后回弹出下面窗体,会展示出这个任务流程的DAG图,我这里只定义了一个简单的测试脚本,没有依赖关系
继续点击execute会将任务执行一次,可以用来测试
点击schedule可以定义任务执行的cron表达式,根据需求填写,启动即可
- 6、效果展示