服务器升级阶段,闲来无事,整理一下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列表,链接到其作业跟踪器页面

azkaban详细使用教程相关推荐

  1. mysql为什么每天0点就装东西_MySQL的详细安装教程

    1.安装之前需要注意的几点 建议不要安装最新版本,一般找mysql5.0系列版本即可: mysq1官网有.zip和.msi两种安装形式: zip是压缩包,直接解压缩以后使用的,需要自己配置各种东西:m ...

  2. mysql windows 管道连接,科技常识:Windows Server 2016 MySQL数据库安装配置详细安装教程...

    今天小编跟大家讲解下有关Windows Server 2016 MySQL数据库安装配置详细安装教程 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Windows Server 2016 ...

  3. python安装了运行不了_python详细安装教程

    本章开始,我们将详细介绍Python编程环境的搭建,工欲善其事必先利其器,所以我们这里先介绍python详细安装教程.由于Python是跨平台的,他可以运行在Windows.Linux.Mac等系统上 ...

  4. truffle详细使用教程

    详细使用教程 选择以太坊客户端 编译智能合约 运行迁移 测试智能合约 用 JavaScript 编写测试脚本 编写 Solidity 测试脚本 与智能合约交互 使用 EthPM 包管理工具 调试智能合 ...

  5. Apache的详细安装教程和遇到的问题解决方案

    Apache的详细安装教程和遇到的问题解决方案 参考文章: (1)Apache的详细安装教程和遇到的问题解决方案 (2)https://www.cnblogs.com/jave1ove/p/54864 ...

  6. centos7 查看ip_VMware安装CentOS 7操作系统详细操作教程(网络配置)

    网络配置,输入vi /etc/sysconfig/network-scripts/,按下Tab键,根据提示,输入ifcfg-eno16777736,按下Enter键,如下图所示: 图 1 网络配置-1 ...

  7. htc one m7刷Linux,HTC one m7官方刷机详细操作教程

    由于很多软件功能都需要手机进行刷机,所以入手HTC one m7新机的用户一定想着如何刷机.下面就来教你HTC one m7官方刷机的详细操作教程! 准备事项: 1.手机必须能用usb数据线电脑,因为 ...

  8. apache mysql 连接数 winnt,APACHE PHP MYSQL PHPMYADMIN超详细配置教程

    Apache+PHP+MySQL+phpMyAdmin超详细配置教程 安装之前需要下载 Apache2.0.59 PHP4.4.4Win32 MySQL4.12 phpMyAdmin2.9.1.1rc ...

  9. python详细教程-python入门(非常详细的教程)

    对于初学者而言,您要做的只是专注于Python语言,阐明学习重点,掌握学习节奏,并逐步学习.根据我多年的学习和工作经验,编程语言的学习分为以下三个步骤,无论您是否具有编程基础,都可以通过比较来完成. ...

最新文章

  1. js 转义成html,js转义html,反转义
  2. JAVA设计模式(09):结构型-代理模式(Proxy)
  3. Lync Server 2010迁移至Lync Server 2013部署系列21:Lync 2013边缘第二台服务器配置
  4. 【模拟退火】解决【TSP】问题
  5. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十五)完美捕捉精灵之神器 -- HitTest...
  6. 制作空镜像与一个run的共享文件错误解决
  7. Linux cal日历指令
  8. 物联网核心协议—消息推送技术演进
  9. AT3950-[AGC022E]Median Replace【贪心,dp】
  10. mysql 参数bug_MySQL 的这个 BUG,坑了多少人?
  11. @value 数组_为什么不推荐用for...in遍历数组
  12. Matlab Tricks(二十)—— Hilbert matrix 的创建
  13. 女人不需要哲学,因为哲学不能给她们带来面包
  14. 高德地图模仿微信发送位置实现拾取坐标
  15. Matlab画图相关知识
  16. silverlight文件下载方法
  17. 理解密码学中的双线性映射
  18. Java基本数据类型及对应包装类
  19. 倍福TwinSAFE逻辑功能块,TwinCAT3知识库中文汉化工程
  20. LeetCode-1225. 报告系统状态的连续日期(困难)

热门文章

  1. JSON.parse() 和 JSON.stringify()
  2. ipref网络性能评估工具
  3. 让我们一起开发【菜谱系统】吧,滚雪球学 Python 第三轮项目计划
  4. 时空同步图卷积网络:时空网络数据预测的新框架
  5. lotus - 深入理解时空证明的 golang 实现部分(PoSt)
  6. php字典遍历,OC中的遍历数组和字典
  7. 银河麒麟踩坑笔记——sh文件设置开机自启
  8. 负担过重何以轻装前行
  9. 大白话chatGPT GPT的发展区别
  10. android中终端命令大全,Android系统在超级终端下必会的命令大全(八)