azkaban详细使用教程_azkaban使用教程_一路走下去、的博客-程序员秘密

服务器升级阶段,闲来无事,整理一下azkaban详细使用方法:

一、用户管理

1 登录
登录应用管理平台,初始安装时的默认账户密码为:azkaban / azkaban;
在这里插入图片描述

2 用户管理
成功登录后,在菜单栏点击用户管理进入‘’用户管理界面

2.1 添加用户
点击添加按钮,弹出模态框,在表单中填入用户名、密码、邮箱、代理用户、角色、群组等信息;然后点击确认即可添加新用户。注意:只有具有admin权限的账户才能够添加用户或者说只有admin权限的用户才能操作用户管理模块。
在这里插入图片描述
2.2 编辑用户
如果你想要编辑某个用户,在该用户所在行的最后一个单元格中点击编辑按钮,弹出模态框,然后修改你想要修改的信息,点击确认编辑即可。
在这里插入图片描述
2.3 删除用户
同样的,如果你要删除某个用户,你在对应用户所在行的最后一个单元格中点击删除按钮,会弹出再次确认对话框,你点击确认删除即可。注意:初始用户不可删除

3 角色管理
角色管理默认有五个角色,分别是:admin、read、write、execute、schedule;详细说明如下:
| 角色名称 | 权限 |说明
|admin|ADMIN |管理员权限,具有平台所有执行权限
|read |READ |为用户提供每个项目及其日志的只读访问权限
| write | WRITE |允许用户上传文件,更改作业属性或删除任何项目
|execute |EXECUTE |允许用户触发任何工作流的执行权限
| schedule | SCHEDULE |用户可以为任何工作流添加或删除计划

除了默认设置的权限以外,可以根据需求新增角色名后为其添加多个权限。
在这里插入图片描述

3.1 添加角色
选择角色tab页,点击添加按钮,弹出模态框;填写你要添加的角色名称,选择对应的权限,然后点击确认添加即可。
在这里插入图片描述

3.2 编辑角色
如果需要编辑已添加的角色,则点击要编辑的角色所在行最后单元格里的编辑按钮,弹出模态框,修改对应的信息。
在这里插入图片描述
3.3 删除角色
同样的,如果你要删除已经添加的角色,则你点击要删除的角色所在行最后一个单元格中的删除按钮,确认删除。
在这里插入图片描述

4 群组管理
群组管理,使得可以为多个用户统一设置对应的权限。
在这里插入图片描述
4.1添加群组
在群组管理页面,点击添加按钮,弹出模态框,填写群组名称和角色,点击确认即可添加新的群组。
在这里插入图片描述
4.2编辑群组
如果要修改已添加的群组,则点击对应群组所在行最后一个单元格的编辑按钮,弹出模态框修改对应信息。
在这里插入图片描述

4.3删除群组
删除不要的群组,点击要删除的群组对应所在的最后一个单元格的删除按钮,确认删除即可。
在这里插入图片描述

二 创建工作流

在Azkaban中一个作业(job)是一个运行的进程。作业之间可以设置相互依赖。由一组作业及其它的依赖所创建的图构成了一个流。
1 创建作业Job
创建也给job非常容易。我们新建一个以 .job 为扩展名的文件。该作业文件定义要运行的作业类行、依赖项和正确设置作业所需要的任何参数。

# foo.job
type=command
command=echo “Hello World”

在该示例中,作业的类型是command,在运行是会执行command参数打印“Hello World”。作业的标准输出或者作业的错误会被写入到日志中,可以在Azkaban web界面上进行查看。
更多的关于job的信息,请参考下面的。
2 创建作业流Flows
作业流是一组相互依赖的作业。作业的依赖项总是在作业本身能够运行之前运行。如果要向作业添加依赖项,请添加如下例所示的依赖项属性。

# foo.job
type=command
command=echo foo
# bar.job
type=command
dependencies=foo
command=echo bar

dependencies参数采用逗号分隔的作业名称列表。确保作业名称存在,并且没有周期性依赖关系。
为每一个没有依赖项的作业创建一个流,这个流的命名和作业的名字相同。例如上面的例子中,bar依赖于foo,但是bar没有别其它作业所依赖,所以将流的名字命名为bar。
3 嵌入式流
在这里插入图片描述
流还可以作为节点包含在其它流中作为嵌入式流。要创建嵌入式流,只需创建一个.job文件,将type=flow和flow.name设置为流的名称。例如:

# baz.job
type=flow
flow.name=bar

还可以允许通过向每个嵌入的流的.job文件中添加参数来多次包含相同的流,但每次都有不同的设置。
4 上传工作流
要上传工作流,需要将所有的.job文件和需要执行的二进制文件都压缩到一个.zip文件中。然后再应用管理平台的web界面,你就可以发布你的工作流了。上传的工作流将会被验证是否存在缺少或循环的依赖关系。如何上传作业流,详见下面第三节上传工作。

三 使用azkaban

1 创建工程
登录Azkaban后,您将看到项目页面。此页面将显示您具有读取权限的所有项目的列表。仅显示组权限的项目或具有READ或ADMIN角色的项目。
在这里插入图片描述

如果刚刚开始,项目页面可能为空。但是,您可以通过单击“所有项目”来查看所有现有项目。单击创建项目将弹出一个对话框。输入项目的唯一项目名称和描述。将来可以更改说明,但项目名称不能更改。如果您没有看到此按钮,则除了具有适当权限的用户之外,可能已锁定创建新项目的权限。
在这里插入图片描述

创建项目后,将显示一个空项目页面。您将自动获得此项目的ADMIN状态。单击“ 权限”按钮添加和删​​除权限。

如果您具有适当的权限(创建项目时应该具有该权限),则可以从此页面删除项目,更新描述,上载文件和查看项目日志。
2 上传工程
点击上传按钮。你将看到下面的模态框。
想·

选择要上载的工作流文件的存档文件。目前Azkaban仅支持*.zip文件。zip应包含*.job文件和需要运行job所需的文件。作业名称在项目中必须是唯一的。Azkaban将验证zip的内容,以确保满足依赖性,并且没有检测到循环依赖。如果发现任何无效流,则上载将失败。上传会覆盖项目中的所有文件。上传新的zip文件后,对作业所做的任何更改都将被删除。成功上传后,您应该会在屏幕上看到所有流。
3 工作流视图
通过单击流的链接,您可以转到Flow View页面。从这里,您将看到流程的图形表示。左侧面板包含流程中的作业列表。右键单击右侧面板中的作业或图表中的节点将允许您打开单个作业。您还可以从此页面中安排和执行流程。
在这里插入图片描述
单击执行选项卡将显示此流程的所有先前执行。
在这里插入图片描述

4 工程权限
创建项目时,创建者将自动获得项目的ADMIN状态。这允许创建者查看,上传,更改job,运行流,删除和向项目添加用户权限。管理员可以删除其他管理员,但无法删除自己。这可以防止项目无管理,除非具有管理员角色的用户删除管理员。可以从项目页面访问权限页面。在权限页面上,管理员可以将其他用户,组或代理用户添加到项目中。
在这里插入图片描述

(1)添加用户权限可为这些用户提供项目的指定权限。通过取消选中所有权限来删除用户权限。
(2)组权限允许特定组中的每个人具有指定的权限。通过取消选中所有组权限来删除组权限。
(3)如果启用了代理用户,则代理用户允许项目工作流作为这些用户运行。这对于锁定作业可以代理的无头帐户非常有用。一旦添加,单击“删除”按钮即可删除它们。

通过UserManager验证每个用户,以防止添加无效用户。还检查组和代理用户以确保它们有效并查看是否允许管理员将它们添加到项目中。可以为用户和组设置以下权限:

权限 描述
ADMIN 允许用户对此项目执行任何操作,以及添加权限和删除项目。
READ 用户可以查看作业,流程,执行日志。
WRITE 可以上传项目文件,并可以修改作业文件。
EXECUTE 允许用户执行,暂停,取消作业。
SCHEDULE 允许用户添加,修改和删除计划中的流。

5 执行工作流
从Flow View或Project Page,您可以触发要执行的作业。您将看到一个执行面板弹出窗口。
5.1执行流视图
在Flow View面板中,您可以右键单击图形并禁用或启用作业。执行期间将跳过已禁用的作业,就好像已满足其依赖项一样。禁用的Jobs看起来是半透明的。
在这里插入图片描述
5.2通知选项
通知选项允许用户更改流的成功或失败通知行为。
1.通知失败
首次失败:检测到第一次失败后发送失败的电子邮件。
完成流程:如果流程中的作业失败,则会在流程中的所有作业完成后发送失败的电子邮件。
2.电子邮件覆盖
应用管理平台将使用流程中最终作业中设置的默认通知电子邮件。如果被覆盖,用户可以更改发送失败或成功的电子邮件地址。列表可以用逗号,空格或分号分隔。
在这里插入图片描述
5.3失败选项
当流中的作业失败时,您可以控制流的其余部分将如何成功。
1)完成当前运行:将完成当前正在运行的作业,但不会启动新作业。流程将处于FAILED FINISHING状态,并在一切完成后设置为FAILED。
2)取消全部:将立即终止所有正在运行的作业,并将执行流的状态设置为FAILED。
3)完成所有可能:只要满足其依赖性,就会继续在流中执行作业。流程将被置于FAILED FINISHING状态,并在一切完成后设置为FAILED。
在这里插入图片描述
5.4并发选项
如果在流同时执行时调用流执行,则可以设置多个选项。
1)skip Execution:如果流已经在运行,则跳过执行选项将不会运行流。
2)Run Concurrently:无论流是否运行,option都将运行该流。执行有不同的工作目录。
3)Pipeline:以新执行不会超出并发执行的方式运行流。

  • 级别1:阻止执行作业A,直到上一个流程的作业A完成。
  • 级别2:阻止执行作业A,直到前一个流程的作业A的子级已完成。如果您需要在已执行的流程后面几步运行流程,这非常有用。
    在这里插入图片描述
    5.5流量参数
    允许用户覆盖流参数。流参数会覆盖作业的全局属性,但不会覆盖作业本身的属性。
    在这里插入图片描述
    6 执行
    6.1作业流执行页面
    执行流程后,你将提交执行流程页面。或者,您可以从“执行”选项卡,“历史记录”页面或“执行”页面下的“流视图”页面访问这些流。此页面类似于Flow View页面,但它显示正在运行的作业的状态。
    在这里插入图片描述
    选择作业列表将给出作业执行的时间表。您可以直接从此列表访问作业和作业日志。
    在这里插入图片描述
    只要执行未完成,此页面将自动更新。您可以在执行流程上执行的一些选项包括:
    取消:终止所有正在运行的作业并立即使流程失败。流状态将被杀死。
    暂停:阻止新作业运行。目前正在运行的工作照常进行。
    恢复:恢复暂停执行。
    重试失败:仅在流程处于FAILED FINISHING状态时可用。当流仍处于活动状态时,重试将重新启动所有FAILED作业。尝试将显示在“作业列表”页面中。
    准备执行:仅适用于已完成的流程,无论成功与否。这将自动禁用成功完成的作业。
    6.2正在执行页面
    单击菜单栏中的 正在执行 选项卡将显示Execution页面。此页面将显示当前正在运行的执行以及最近完成的流程。
    在这里插入图片描述
    6.3历史记录页面
    当前正在执行的流程以及已完成的执行将显示在“历史记录”页面中。提供搜索选项以查找您正在寻找的执行。或者,您可以在Flow View执行选项卡上查看流的先前执行。

7 定时任务

在用于执行流的同一面板中,可以通过单击“定时”按钮来计划流。
在这里插入图片描述
将为计划的流保留任何流选项集。例如,如果禁用作业,则还将禁用计划流的作业。借助Azkaban3.3中新的灵活调度功能,用户可以按照Quartz语法定义一个cron作业。与Quartz或cron不同的一个重要变化是Azkaban最多以微小粒度运行。因此,UI中的第二个字段被标记为静态“0”。Flexible Schedule Wiki解释了细节如何使用。计划安排后,它应显示在计划页面上,您可以在其中删除计划作业或设置SLA选项。

SLA
要添加SLA通知或抢占,请单击SLA按钮。您可以在此处设置SLA警报电子邮件。可以添加规则并将其应用于单个作业或流本身。如果超过持续时间阈值,则可以设置警报电子邮件,或者可以自动终止流或作业。如果作业因缺少SLA而被终止,则将根据该作业的重试配置重试该作业。
在这里插入图片描述
8 作业页面
Job组成了流程的各个任务。要进入作业页面,点击作业流中的job可以看到如下页面。
在这里插入图片描述

在此页面中,您可以看到作业的依赖项和依赖项以及作业将使用的全局属性。
8.1作业编辑
单击Job编辑将允许您编辑除某些保留参数(例如type和dependencies)之外的所有作业属性。仅当作业尚未开始运行时,对参数的更改才会影响执行流程。这些作业属性的覆盖将被下一个项目上传覆盖。
在这里插入图片描述
8.2作业历史记录
作业的任何重试都将显示为executionid.attempt数字。
在这里插入图片描述
9 作业详情
在执行页面中,单击作业列表,然后单击其中一个作业的详细信息,您将到达作业详细信息页面。此页面包含作业日志和摘要的选项卡。
9.1工作日志
作业日志存储在数据库中。它们包含作业的所有stdout和stderr输出。
在这里插入图片描述
9.2作业摘要
作业摘要选项卡包含作业日志中的信息摘要。这包括:
作业类型:作业的作业类型
命令摘要:启动作业过程的命令,其中包括类路径和内存设置等字段
Pig / Hive作业摘要:特定于Pig和Hive作业的自定义统计数据
映射减少作业:已启动的Map-Reduce作业的作业ID列表,链接到其作业跟踪器页面

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42045791/article/details/107247251

智能推荐

SpringMVC自动扫描@Controller注解的bean_东372550723的博客-程序员秘密

SpringMVC自动扫描@Controller注解的bean 若要对@Controller注解标注的bean进行自动扫描,必须将放置在dispatcherservlet的配置文件中,若配置在ContextLoaderListener的配置文件applicationContext.xml中则不起作用 上下文配置文件 -->context-par

c语言中有byte这种类型吗?_wjy320的博客-程序员秘密

标准C没有这个类型,byte表示一个字节,对应C的unsigned char,你可以自己按下面的样子定义一个即可:typedef unsigned char byte; 格式输出:%o    八进制%x   十六进制接下来写一个利用byte计算二进制数中有多少个1的例子!!!(转换为16进制接收。)#include<iostream>us...

《机器学习实战》斧头书——第三章—决策树(1)——使用决策树预测你是否需要带隐形眼镜_一叶浮萍归大海的博客-程序员秘密

《机器学习实战》斧头书——决策树一、对文章的说明1.1 对本文有几点说明如下:1.1.1 我是一个刚学没多久的小白,所以代码可能也会有错误,欢迎各位大佬提出我的问题,感谢;1.1.2 对于python版本 ,斧头书《机器学习实战》是用的2.x,本文使用的是3.x,然后代码的话,有的是参考书上的和网上的,还有部分是自己写的;1.1.3 用的参考书是下面这本,封面拿了个斧头的人,这本书没有调库,都是用python写的底层代码,感觉对理解算法原理会更深入一点;1.1.4 编写代码的地方,先是在Jupy

Oracle基本操作~_oracle eid_Noky8的博客-程序员秘密

create table emp(eid number(4) primary key,ename varchar(20) not null,eage number(4),edate date);insert into emp(eid,ename,eage,edate)values(6,‘admin5’,11,to_date(‘2018-06-12’,‘yyyy-MM-dd’));se...

固件安全性–防止内存损坏和注入攻击_粤嵌教育的博客-程序员秘密

  嵌入式软件是物联网的核心,尽管嵌入式应用程序安全通常不被认为是嵌入式开发人员和物联网设备制造商的优先事项,这可能是由于缺乏安全编码知识或团队代码库之外的其他挑战造成的。  开发人员面临的其他挑战可能包括但不限于原始设计制造商(ODM)供应链、有限内存、小堆栈,以及将固件更新安全推送到端点的挑战。  防止内存损坏漏洞  在使用低级语言(如C)时,如果开发人员没有以编程方式正确检查和验证边界,则很有可能出现内存损坏错误。防止使用已知的危险函数和API有助于防止固件中的内存损坏漏洞。例如,已知的、

中南大学毕业设计(论文)LaTeX模板_中南大学毕业论文latex_西西西西柚的博客-程序员秘密

中南大学毕业设计(论文)LaTeX模板项目说明下载链接论文模板展示作者:Chai Xingtao邮箱:[email protected]项目说明由于中南大学本科生院只发布了毕业设计(论文)的Word模板,为方便部分使用LaTeX编辑和排版论文的同学,特制作了完全依照原Word模板格式的中南大学毕业设计(论文)的LaTeX模板。所有环境命令均已调试合格,可直接下载使用。项目中的PDF...

随便推点

HttpClient4 第一章 入门HttpClient_阿螭的博客-程序员秘密

HttpClient顾名思义就是一个Http客户端。最常见的HTTP客户端就是浏览器,可是并不意味着HttpClient也是浏览器,他只是一个能够提供Http连接的客户端而已。想要了解HttpClient是什么,就必须要了解HTTP请求。一个HTTP请求分为请求和响应,那么HttpClient要想实现HTTP请求连接,就必须要实现能够发送请求和响应。首先我们来看一个HTTP请求:Requ...

全国主要省会城市和地区手机离线地图数据文件下载地址_西安市地图离线包下载_愚鬼的博客-程序员秘密

全国主要省会城市和地区手机离线地图数据文件下载地址    这些地图数据文件是在手机上使用的地图数据,是完全离线,不需要网络和手机信号。在使用过程中没有任何费用发生。唯一要求是需要在MM和天翼上购买下载《手机离线地图GPS定位程序(地名版)》,这个程序支持WindowsMobile、Android和Ophone等智能手机。    这里的地图包含了‘道路交通图’和‘卫星道路图’,缩放倍数从12

把axios封装为vue插件使用_Marven_的博客-程序员秘密

前言自从Vue2.0推荐大家使用 axios 开始,axios 被越来越多的人所了解。使用axios发起一个请求对大家来说是比较简单的事情,但是axios没有进行封装复用,项目越来越大,引起的代码冗余。就会非常麻烦的一件事。所以本文会详细的跟大家介绍,如何封装请求,并且在项目组件中复用请求。有需要的朋友可以做一下参考。封装的基本要求统一 url 配置统一 api 请求reque...

java array to string_数组到字符串转换(Array to string conversion)_weixin_39678304的博客-程序员秘密

数组到字符串转换(Array to string conversion)这段代码有什么问题? 我不明白。 这是错误代码:注意:第12行的C:\ xampp \ htdocs \ stage \ ripper.php中的数组到字符串转换数组块引用注意:第13行数组中C:\ xampp \ htdocs \ stage \ ripper.php中的数组到字符串转换header('Content-Typ...

怎么购买实惠的羽毛球_aust_niuroutang的博客-程序员秘密

 羽毛球运动可以说是一项贵族运动,每次运动场租费、羽毛球消耗费,没有一定经济基础的人根本吃不消。而羽毛球运动的飘逸、柔美、灵巧、腾挪,又深深吸引着我们这批为之疯狂的球友。我大学毕业后就在绍兴市东风体育用品厂(没记错的话好像成立于1956年,原来是军工企业)呆过,了解羽毛球市场的人都知道,这是保留之今为数不多的国营羽毛球厂之一,是国内最大的羽毛球生产厂。我的师傅现在已经退休,有近40年做羽毛球的经验

CentOS8.2安装 Mysql5.7出现包冲突。file /etc/my.cnf from install of mysql-community-server conflicts with_centos 安装mysql conflicting_压力也没多大啊的博客-程序员秘密

环境:CentOS8.2安装Mysql 5.7安装包来源:http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64参考博客园:三度CSDN:不要再说了哇依次安装mysql的common、lib、client的时候都没有问题。安装server的时候出现一下问题Downloading Packages:Running transaction checkTransaction check succeeded.Running trans

推荐文章

热门文章

相关标签