azkaban调度
azkaban调度
1、概述
azkaban是一套调度系统,常用大数据作业调度。azkaban包括web和executor两套程序,web主要完成展示和交互,executor上完成调度和作业提交执行。
2、安装
略
3、启动
3.1 启动web程序
$>/soft/azkaban/web/bin/azkaban-web-start.sh
3.2 执行executor程序
$>/soft/azkaban-exec/bin/azkaban-executor-start.sh
4、登录webui
http://s101:8081
5、登录界面


6、创建工程
6.1 点击创建项目按钮

6.2 输入项目信息

6.3 查看创建项目

7、创建job文件和依赖关系
7.1 编写job文件
job文件以job作为扩展名,job中涉及的sh脚本需要保证在executor节点上存在,实际执行时都是由executor在本机上执行特定的shell脚本。
7.1.1 加载数据到原生表job
[1_load_data_to_hive_raw_logs.job],该job是第一个job,没有依赖。
type=command
command=sh /home/centos/umeng/load_data_to_hive_raw_logs.sh
7.1.2 叉分startuplogs并转储job
[2_1_fork_startuplogs.job]
type=command
command=sh /home/centos/umeng/fork_logs.sh fork_startuplogs.sql forkstartuplogs
dependencies=1_load_data_to_hive_raw_logs
7.1.3 叉分eventlogs并转储job
[2_2_fork_eventlogs.job]
type=command
command=sh /home/centos/umeng/fork_logs.sh fork_eventlogs.sql forkeventlogs
dependencies=1_load_data_to_hive_raw_logs
7.1.4 叉分errorlogs并转储job
[2_3_fork_errorlogs.job]
type=command
command=sh /home/centos/umeng/fork_logs.sh fork_errorlogs.sql forkerrorlogs
dependencies=1_load_data_to_hive_raw_logs
7.1.5 叉分usagelogs并转储
[2_4_fork_usagelogs.job]
type=command
command=sh /home/centos/umeng/fork_logs.sh fork_usagelogs.sql forkusagelogs
dependencies=1_load_data_to_hive_raw_logs
7.1.6 job 叉分pagelogs并转储job
[2_5_fork_pagelogs.job]
type=command
command=sh /home/centos/umeng/fork_logs.sh fork_pagelogs.sql forkpagelogs
dependencies=1_load_data_to_hive_raw_logs
7.1.7 编写收尾job
job之间可以指定依赖,多个依赖使用,分割。
[3_end.job]
type=noop
dependencies=2_1_fork_startuplogs,2_2_fork_eventlogs,2_3_fork_errorlogs,2_4_fork_usagelogs,2_5_fork_pagelogs
7.1.8 总结
以上共生成7个job文件,如下图所示:

8、将所有job打成一个zip文件
8.1 安装zip命令
centos 7默认没有集成zip命令,需要单独安装。
#安装zip命令
$>sudo yum install -y zip
8.2 打包job文件到一个zip中
$>cd /home/centos/umeng/job
#将当前所有文件打成1.zip文件
$>zip 1.zip *
8.3 1.zip文件内容如下

9、上传zip文件
9.1 点击上传按钮

9.2 选中zip文件

9.3 查看上传结果

9.4 展开job,查看依赖关系

10、job的执行与调度
job在上传之后,可以单独执行某个job,带依赖关系也可以不带依赖关系。执行通常用来测试,测试通过后就可以进行调度作业。
10.1 job执行
10.1.1 展开job的依赖列表


10.1.2 执行无依赖job


10.1.3 执行有依赖job


10.1.4 执行无依赖job
azkaban调度的更多相关文章
- 第2节 azkaban调度:16、azkaban的介绍以及azkaban的soloserver的安装使用
2. 工作流调度器azkaban 2.1 概述 azkaban官网: https://azkaban.github.io/ 2.1.1为什么需要工作流调度系统 l 一个完整的数据分析系统通常都是由大 ...
- 第2节 azkaban调度:1、azkaban的调度任务使用
2.4 Azkaban实战 Azkaba内置的任务类型支持command.java Command类型单一job示例 创建job描述文件 创建文本文件,更改名称为mycommand.job 注意后缀. ...
- Azkaban调度器
Azkaban介绍 Azkaban 是由 Linkedin 公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程.Azkaban 使用 job 配置文件建立任务之间 ...
- 第2节 azkaban调度:17、azkaban的两个服务模式的安装
2.3.3.azkaban两个服务模式安装 1.确认所需软件: Azkaban Web服务安装包 azkaban-web-server-0.1.0-SNAPSHOT.tar.gz Azkaban执行服 ...
- 24.Azkaban调度脚本的编写
启动azkaban 在启动了server和excutor之后,在浏览器打开azkaban,会发现不能打开,日志报这个错误 at sun.security.ssl.InputRecord.handleU ...
- Azkaban时区问题导致调度差1天
设置了Azkaban调度是每日凌晨一次,如下: 但是调度历史上显示最近一次调度时间是 初步怀疑是因为时区问题导致,查看服务器时区如下 cat /etc/timezone 为Asia/Shanghai. ...
- 从源码看Azkaban作业流下发过程
上一篇零散地罗列了看源码时记录的一些类的信息,这篇完整介绍一个作业流在Azkaban中的执行过程,希望可以帮助刚刚接手Azkaban相关工作的开发.测试. 一.Azkaban简介 Azkaban作为开 ...
- 分布式计算(三)Azkaban介绍
转载自:Azkaban学习之路 (一)Azkaban的基础介绍 目录 一.为什么需要工作流调度器 二.工作流调度实现方式 三.常见工作流调度系统 四.各种调度工具对比 五.Azkaban 与 Oozi ...
- Azkaban学习之路 (一)Azkaban的基础介绍
一.为什么需要工作流调度器 1.一个完整的数据分析系统通常都是由大量任务单元组成: shell 脚本程序,java 程序,mapreduce 程序.hive 脚本等 2.各任务单元之间存在时间先后及前 ...
随机推荐
- Python的安装位置与Python库
如何查看Python的安装位置: 输入 where python ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- jquery 初步学习
首先 jQuery是一个轻量级的 JS框架,核心文件才几十KB 1. jquery 对象 var $variable=jquery对象 var variable = DOM对象 $variable[0 ...
- linux 数据库管理
1.安装数据库: yum install mariadb.serversystemctl staus mariadbsystemctl start mariadbsystemctl enable ma ...
- hive支持事务及单行操作 update delete
测试环境 Hive 1.2.1000.2.6.0.3-8 set hive.support.concurrency=true; set hive.exec.dynamic.partition.mod ...
- java泛型&bean copy list
参考:https://www.oracle.com/technetwork/cn/articles/java/juneau-generics-2255374-zhs.html E:元素K:键N:数字T ...
- js中this指向
JavaScript由于在运行期进行绑定的特性,JavaScript中的this可以是全局对象,当前对象或者任意对象,这完全取决于函数的调用方式 1.全局作用域或者普通函数中this指向全局对象win ...
- 转 Python3 错误和异常/ Python学习之错误调试和测试
########sample 0 https://www.cnblogs.com/Simon-xm/p/4073028.html except: #捕获所有异常 except: <异常名> ...
- python安装包的时候报错
python安装包的时候报错 今天兴致勃勃的安装了一个paramiko包,过程很顺利,但是到结尾的时候报错,这就让人不爽了. 所以呢,需要安装一个名为python-dev的软件包. 该软件包包括头文件 ...
- 加解密---Base64
1.算法实现: 1.1 JDK提供: package com.exiuge.mytest; import sun.misc.BASE64Decoder; import sun.misc.BASE64E ...
- 不要在Application中缓存数据
在你的App中的很多地方都需要使用到数据信息,它可能是一个session token,一次费时计算的结果等等,通常为了避免Activity之间传递数据的开销,会将这些数据通过持久化来存储. 有人建 ...