这是我参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战
一、shell command 调度
- 创建
job描述文件
vi command.job
# 添加如下
type=command
command=echo 'hello'
- 将
job资源文件打包成zip文件
zip command.job
- 通过
azkaban的web管理平台创建project并上传job压缩包
- 创建
Project - 上传
zip包 - 启动执行该
job
二、Job 依赖调度
创建有依赖关系的多个
job描述bar.job依赖foo.job
- 创建
foo.job
vi foo.job
# 添加如下
type=command
command=echo 'foo'
- 创建
bar.job
bar.job依赖foo.job
vi bar.job
# 添加如下
type=command
dependencies=foo
command=echo 'bar'
-
将所有
job资源文件打到一个zip包中 -
在
azkaban的web管理界面创建工程并上传zip包 -
启动工作流
flow
三、HDFS 任务调度
- 创建
job描述文件
vi fs.job
# 添加如下:
type=command
command=/opt/lagou/servers/hadoop-2.9.2/bin/hadoop fs -mkdir /azkaban
-
打包生成
-
通过
azkaban的web管理平台创建project并上传job压缩包
四、MapReduce 任务调度
mr任务依然可以使用command的job类型来执行
- 创建
job描述文件, 及mr程序jar包
示例中直接使用
hadoop自带的example jar
vi mrwc.job
# 添加如下:
type=command
command=/opt/lagou/servers/hadoop-2.9.2/bin/hadoop jar hadoop-mapreduce-examples-2.9.2.jar wordcount /wordcount/input /wordcount/azout
-
将所有
job资源文件打到一个zip包中 -
在
azkaban的web管理界面创建工程并上传zip包 -
启动
job
遇到虚拟机内存不足情况:
- 增大机器内存
- 使用清除系统缓存命令,暂时释放一些内存
[root@linux123 mapreduce]# echo 1 >/proc/sys/vm/drop_caches
[root@linux123 mapreduce]# echo 2 >/proc/sys/vm/drop_caches
[root@linux123 mapreduce]# echo 3 >/proc/sys/vm/drop_caches
五、Hive 脚本任务调度
- 创建
job描述文件
vi hivef.job
# 添加如下:
type=command
command=/opt/lagou/servers/hive-2.3.7/bin/hive -f 'test.sql'
- 创建
hive脚本
vi hive.sql
# 添加如下:
use default;
drop table aztest;
create table aztest(id int,name string) row format delimited fields terminated by ',';
- 将所有
job资源文件打到一个zip包中创建工程并上传zip包, 启动job
六、定时任务调度
除了手动立即执行工作流任务外,
azkaban也支持配置定时任务调度。
开启方式如下:
-
首页选择待处理的
project -
选择左边
schedule表示配置定时调度信息, 选择右边execute表示立即执行工作流任务。