搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
运维做开发
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Git 版本控制_项目进行本地版本控制
2
Memcached缓存键命名规范:最佳实践与技巧
3
【Android】Room数据库的简单使用方法_android room数据库
4
学习之小心得——01_adse图片编辑
5
Spark ----Spark 核心概述_spark主要功能
6
『Charles数据抓包功攻略』| 如何使用Charles进行数据抓包与分析?_charles抓包
7
python 文字转语音 带情感_python文字转语音实现过程解析
8
maven配置使用nexus仓库
9
python代码块所属关系的语法-天元高校邦数据科学通识课【Python基础语法】答案...
10
节卡JAKA机械臂培训笔记(偏入门)_节卡机器人inpos指令发出
当前位置:
article
> 正文
【azkaban】学习azkaban的笔记以及心得_简述azbaban中的project、job和flow元素的关系
作者:运维做开发 | 2024-06-22 06:21:28
赞
踩
简述azbaban中的project、job和flow元素的关系
Azkaban是Linkedin开源的任务调度软件。致力于解决Hadoop job 问题。
主要解决ETL中有顺序的任务。
一、基本概念:
其中主要有三个组件组成:
Relational Database(只支持MySql)
Azkaban WebServerWebUI)
Azkaban ExecutorServer
Azkaban2目前支持三种模式:
solo server mode
two server mode
multiple executor mode
Azkaban界面中的主要元素有三个,分别是project、job与flow
project可以理解为某个项目,其项目中包含了许多需要执行的任务,即为job,各个job之间形成依赖关系,便组成了工作流flow
二.如何使用:
首先,需要创建以
.job
为扩展名的文件,一个文件即代表一个任务。
所有的job都需要一个知道他们如何去执行的type。一般的,有这样四种job类型:Java、command、javaprocess和pig。
本文以
type=command
为例
其次在这个文件中添加这个任务所需的参数与参数值,
必须的参数有
type
与
command
例如:
type=command
command=echo 'jobs start’
四类job类型的文件都可以添加的参数有以下几个:
retries --> 任务失败时自动重启的次数
retry.backoff --> 每一次任务尝试重启时之间等待的毫秒数
working.dir --> 可以重新指定任务执行的工作目录,默认为目前正在运行的任务的工作目录
failure.emails --> 任务失败时的邮件提醒设置,以逗号分隔多个邮箱
success.emails --> 任务成功时的邮件提醒设置,以逗号分隔多个邮箱
notify.emails --> 任务无论失败还是成功都邮件提醒设置,以逗号分隔多个邮箱
dependencies--> 定义该文件依赖的文件,值为被依赖文件的文件名,多个目标以逗号分隔,不加扩展名
保存为start.job文件即创建好了一个job,其中
Azkaban每个project中只能上传一个
.zip
文件
三、创建工作流flow
定义好所有的参数后即为定义好了一个job,如果添加了
dependencies
参数即形成了工作流flow
以开头的任务流为例:
#start.job
type=command
command=echo "jobs start"
#A.job
type
=
command
command
=
echo
"This A job"
dependencies=start
#B.job
type
=
command
command
=
echo
"This B job"
dependencies=start
#C.job
type
=
command
command
=
echo
"This C job"
dependencies=A,B
#D.job
type
=
command
command
=
echo
"This D job"
dependencies=C
保存好5个文件后,将5文件打包成zip,然后在界面中进行上传,就会将这几个job上传到了系统中,最终呈现成一个DAG图。
四、简单比较:
airflow python实现,在使用的时候需要自己填写python代码,利用Python代码实现 Job 的 Dag流程。界面操作人性化,缺点,只能单节点运行。
Oozie:与airflow类似,使用的时候需要手动填写XML的配置文件,WEB UI,类比airflow 并没有那么人性化。
五、总结
这几天在使用Azkaban的时候遇到些坑,这里简单记录一下。
1.启动Azkaban的时候,一定要在/bin目录这一级目录使用/bin/xxx进行启动与停止,
否则找不到,启动会报错。
2.在使用的时候上传job的文件,若是单个job文件压缩上传,不要放到一个文件夹里面再压缩,
需要直接压缩,不然Azkaban会找不到对应的job。若是多个job 文件,也是不要将所有的job
文件放到文件夹下压缩,而是直接压缩多个job文件。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/运维做开发/article/detail/745643
推荐阅读
article
Git
第八章:将本地项目分享到
Git
Hub
、将本地库
push
推送至
Git
Hub
远程
库、pull拉取远...
一、将本地项目分享到
Git
Hub
远程
库1.VCS -> import into Versi
on
C
on
trol -> s...
赞
踩
article
51-37 由浅入深理解 Stable
Diffusion
3_
stable
diffusion3
中...
SD3,艺术与科技的融合,它不仅能够理解复杂的提示词,还能将这些提示词转化为高质量的图像。 其基于Rectified F...
赞
踩
article
Task
‘compileDebugSource‘ not
found
in root projec...
编译
kafka
报错* Exception is:org.
gradle
.
execution
.
Task
SelectionEx...
赞
踩
article
IDEA
关于
svn
版本管理的两个选项
Import
Into
Subversion
...
和
Share
...
IDEA
关于
svn
版本管理的两个选项
Import
Into
Subversion
...
和
Share
Project
(Su...
赞
踩
article
IntelliJ
IDEA
使用---导入版本控制
SVN
项目
_
idea
svn
import
pro...
使用
IDEA
一般不建议使用其自带的
SVN
,因为不好用!一、安装版本控制Tortoise
SVN
(小乌龟)如上图箭头所示,...
赞
踩
article
Spring
Cloud
Gateway
集成
Sentinel
(二)实现
nacos
动态保存配置_r...
sentinel gateway
nacos
持久化规则_
rule
-
type
: gw-
flow
rule
-
type
: gw...
赞
踩
article
让chat
GPT
使用
Tensor
flow
Keras
组装
Bert
,
GPT
,
Transformer
_...
其中,左侧的每个Trm代表,右侧的放大图,也就是原始
Transformer
的Encoder部分结构。
Bert
的训练任务包...
赞
踩
article
Flutter
从入门到实战(一)之
环境
搭建(Mac版)_
flutter
create
project
...
Flutter
从入门到实战之
环境
搭建(Mac版)
Flutter
官网镇楼
Flutter
SDK 下载镜像使用运行 flut...
赞
踩
article
PDPS
软件:
机器人
搬运工艺应用虚拟仿真操作方法_
pdps
object
flow
operatio...
上一期介绍了
PDPS
软件抓手工具运动机构的制作,本期再来介绍一下
机器人
搬运虚拟仿真的操作方法。_
pdps
object
...
赞
踩
article
深入了解
Unity
项目
模板
(Deep Dive in
Unity
Project
Template
)...
本文介绍了
Unity
中的
项目
模板
,可以帮助开发者了解
项目
类型选择以及
模板
的使用_
unity
2022新建
项目
时的
模板
都有...
赞
踩
article
让chatGPT使用
Tensor
flow
Keras
组装
Bert
,GPT,
Transformer
_...
其中,左侧的每个Trm代表,右侧的放大图,也就是原始
Transformer
的Encoder部分结构。
Bert
的训练任务包...
赞
踩
article
Android
Studios导入新项目
Building
Gradle
project
info问题...
使用
Android
Studio导入项目或者创建一个新项目时,经常会碰到弹出
Building
Gradle
projec...
赞
踩
相关标签
git
stable diffusion
自动驾驶
AIGC
智慧城市
计算机视觉
人工智能
java
开发语言
intellij-idea
ide
Intellij IDEA
IDEA 中SVN检出项目
IDEA 中SVN导入项目
IDEA 中SVN更新提交代码
sentinel
spring cloud
chatgpt
keras
bert
transformer
Flutter入门
环境搭建
工业机器人
虚拟仿真