Azkaban学习笔记(一)
1. 任务调度概述
- 一个完整的数据分析系统通常都是由大量任务单元组成:
shell脚本程序,java程序,mapreduce程序、hive脚本等 - 各任务单元之间存在时间先后及前后依赖关系
现成的开源调度系统,比如ooize、azkaban。
2. azkaban介绍
Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
它有如下功能特点:
- Web用户界面
- 方便上传工作流
- 方便设置任务之间的关系
- 调度工作流
- 认证/授权(权限的工作)
- 能够杀死并重新启动工作流
- 模块化和可插拔的插件机制
- 项目工作区
- 工作流和任务的日志记录和审计
3. azkaban安装部署
最好结合shell脚本来完成调度。
azkaban最好安装在master上,方便各种命令的执行。
Azkaban Web服务器:
azkaban-web-server-2.5.0.tar.gz
Azkaban执行服务器:
azkaban-executor-server-2.5.0.tar.gz
MySQL:
目前azkaban只支持 mysql,需安装mysql服务器,可以安装在某个节点之上(172.23.27.11),并建立了 root用户,密码 921015.
3.1 azkaban web服务器安装
1.解压
tar –zxvf azkaban-web-server-2.5.0.tar.gz
mv azkaban-web-server-2.5.0 server
2.创建SSL配置
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
运行此命令后,会提示输入当前生成 keystor的密码及相应信息,输入的密码请劳记,信息如下:
输入keystore密码:
再次输入新密码:
输入相同密码921015
完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中.
cp keystore azkaban/server
3.配置文件
注:先配置好服务器节点上的时区
1、先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 即可
2、拷贝该时区文件,覆盖系统本地时区配置
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改conf/azkaban.properties
default.timezone.id=Asia/Shanghai #时区
database.type=mysql
mysql.port=3306
mysql.host=172.23.27.11
mysql.database=azkaban #数据库实例名
mysql.user=root
mysql.password=921015
# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.keystore=keystore
jetty.password=921015
jetty.keypassword=921015
jetty.truststore=keystore
jetty.trustpassword=921015
其余不修改。
修改conf/azkaban-users.xml,添加web访问用户密码
<user username="admin" password="admin" roles="admin,metrics" />
3.2 azkaban 执行服务器executor配置
修改conf/azkaban.properties
default.timezone.id=Asia/Shanghai #时区
#数据库设置
database.type=mysql
mysql.port=3306
mysql.host=172.23.27.11
mysql.database=azkaban #数据库实例名
mysql.user=root
mysql.password=921015
3.3 azkaban脚本导入(MySQL配置)
tar –zxvf azkaban-sql-script-2.5.0.tar.gz
在安装了MySQL的节点
mysql> create database azkaban;
mysql> use azkaban;
mysql> source /opt/azkaban-2.5.0/create-all-sql-2.5.0.sql;
3.4 启动
bin/azkaban-web-start.sh
或者启动到后台:
nohup bin/azkaban-web-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
bin/azkaban-executor-start.sh
用户名密码:admin
4. command job示例
多依赖job示例
1. 创建job描述
第一个job:foo.job
# foo.job
type=command
command=echo foo
第二个job:bar.job依赖foo.job
# bar.job
type=command
dependencies=foo
command=echo bar
2. 打包上传
将所有job资源文件打到一个zip包中。
在web页面中创建工程,并上传zip包。
可以设置调度时间和立即执行。
暂时先记录到这儿吧,以后再完善。
原文链接:https://blog.csdn.net/zouye4456/article/details/69913535
Azkaban学习笔记(一)的更多相关文章
- Azkaban学习笔记(二)
官方文档:http://azkaban.github.io/ 一.Azkaban主要的组成: 1. 关系型数据库——MySQL 2. AzkabanWebServer 3. AzkabanExcuto ...
- 【大数据】Azkaban学习笔记
一 概述 1.1 为什么需要工作流调度系统 1)一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hive脚本等 2)各任务单元之间存在时间 ...
- 01_Hadoop学习笔记内容说明
Hadoop学习笔记内容说明_00 1. 观看云帆大数据梦琪老师的<企业级 Hadoop 1.x 应用开发基础课程>2014年4月左右版本. 2. 博客是在梦琪老师的随堂笔记上改动的, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
随机推荐
- backBone.js初识
一.单页面应用 1.单页面应用(single-page application :SPA),是指在浏览器中运行的应用,在使用期间不会重新加载页面. 2.它所有的活动局限于一个Web页面,仅在初始化加载 ...
- Freetds 连接数据库问题
今天一个项目,需要用到连接SQLSERVER数据库,获取数据,按照以往的做法 ,安装了LNMP,装完之后在安装Freetds,然后在独立添加PHP的MSSQL的模块,./configure make ...
- PAT甲1031 Hello World for U【字符串】
1031 Hello World for U (20 分) Given any string of N (≥5) characters, you are asked to form the chara ...
- POJ 3280 - Cheapest Palindrome - [区间DP]
题目链接:http://poj.org/problem?id=3280 Time Limit: 2000MS Memory Limit: 65536K Description Keeping trac ...
- TensorFlow 的softmax实例理解
对于理论,简单的去看一下百度上的说明,这里直接上实例,帮助理解. # softmax函数,将向量映射到0-1的范围内,P=exp(ax)/(sum(exp(a1x)+exp(a2x)+...)) in ...
- Oracle管理监控之设置linux启动时自动启动oracle服务器
1. 修改dbstart脚本(第78行):$ vi $ORACLE_HOME/bin/dbstartORACLE_HOME_LISTNER=$ORACLE_HOME 2. 修改/etc/oratab为 ...
- Python:正则表达式概念
#正则表达式内容非常多,网上的学习资源也是目不暇接,我从中筛选学习并且整理出以下 的学习笔记 一.正则表达式匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一 ...
- 通过微信服务号推送Zabbix告警
近期看到一篇通过微信实现Zabbix告警的文章,但实践时发现,无法成功发送消息. 分析原因,应该是微信公众平台加强了登录验证,在登录时会需要管理员进行扫描二维码操作才能成功登陆后台: 而之前文章中的A ...
- compile time - run-time
php.net Class member variables are called "properties". You may also see them referred to ...
- session hijacking-php.ini
wamp->php.ini ; This option forces PHP to fetch and use a cookie for storing and maintaining; the ...