目标:回顾任务流调度的需求及常用工具
路径
实施
需求
常用工具
Oozie:Cloudera公司研发,功能强大,依赖于MR实现分布式,集成Hue开发使用非常方便
传统开发:xml文件
<workflow>
<start to="action1">
</start>
<action name='action1'>
<shell>
</shell>
<ok to='action2'>
<kill to='killAction'>
</action>
<action name='action2'>
<shell>
</shell>
<ok to='action3'>
<kill to='killAction'>
</action>
……
</workflow>
Azkaban:LinkedIn公司研发,界面友好、插件支持丰富、自主分布式,可以使用properties或者JSON开发
开发properties文件,压缩成zip压缩包
name='appname2'
type=command
dependencies=appname1
comman='sh xxxx.sh'
上传到web界面中
场景:Apache平台
AirFlow:Airbnb公司研发,自主分布式、Python语言开发和交互,应用场景更加丰富
开发Python文件
# step1:导包
# step2:函数调用
提交运行
场景:整个数据平台全部基于Python开发
DolphinScheduler:易观公司研发,国产开源产品,高可靠高扩展、简单易用
小结
目标:了解AirFlow的工具部署及管理
路径
实施
安装部署
启动测试
删除记录:第二次启动再做
rm -f /root/airflow/airflow-*
启动Redis:消息队列:
nohup /opt/redis-4.0.9/src/redis-server /opt/redis-4.0.9/src/redis.conf > output.log 2>&1 &
ps -ef | grep redis
启动AirFlow
# 以后台进程方式,启动服务
airflow webserver -D
airflow scheduler -D
airflow celery flower -D
airflow celery worker -D
node1:8085
node1:5555
小结