大数据技术之Azkaban
2020-05-12 17:02:19 0 举报
AI智能生成
登录查看完整内容
Azkaban初步学习
作者其他创作
大纲/内容
大数据技术之Azkaban
安装部署
安装前准备
1)\t将Azkaban Web服务器、Azkaban执行服务器、Azkaban的sql执行脚本及MySQL安装包拷贝到bigdata111虚拟机/opt/software目录下
2)\t选择Mysql作为Azkaban数据库,因为Azkaban建立了一些Mysql连接增强功能,以方便Azkaban设置,并增强服务可靠性。
安装Azkaban
1)\t在/opt/module/目录下创建azkaban目录
2)\t解压azkaban-web-server-2.5.0.tar.gz、azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz到/opt/module/azkaban目录下
3)\t对解压后的文件重新命名
4)\tazkaban脚本导入
生成密钥库
-keystore 指定密钥库的名称及位置(产生的各类信息将不在.keystore文件中)-genkey 在用户主目录中创建一个默认文件\".keystore\" -alias 对我们生成的.keystore 进行指认别名;如果没有默认是mykey-keyalg 指定密钥的算法 RSA/DSA 默认是DSA
1)生成 keystore的密码及相应信息的密钥库
2)将keystore 拷贝到 azkaban web服务器根目录中
时间同步配置
先配置好服务器节点上的时区
1)\t如果在/usr/share/zoneinfo/这个目录下不存在时区配置文件Asia/Shanghai,就要用 tzselect 生成。
2)拷贝该时区文件,覆盖系统本地时区配置
3)集群时间同步(同时发给三个窗口)
配置文件
Web服务器配置
1)进入azkaban web服务器安装目录 conf目录,打开azkaban.properties文件
2)按照如下配置修改azkaban.properties文件。
3)web服务器用户配置
执行服务器配置
1)进入执行服务器安装目录conf,打开azkaban.properties
2)\t按照如下配置修改azkaban.properties文件。
启动executor服务器
启动web服务器
概述
为什么需要工作流调度系统
1)一个完整的数据分析系统通常都是由大量任务单元组成
2)各任务单元之间存在时间先后及前后依赖关系
3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行
Azkaban的适用场景
例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处理,处理步骤如下所示
1) 通过Hadoop先将原始数据上传到HDFS上(HDFS的操作);2) 使用MapReduce对原始数据进行清洗(MapReduce的操作);3) 将清洗后的数据导入到hive表中(hive的导入操作);4) 对Hive中多个表的数据进行JOIN处理,得到一张hive的明细表(创建中间表);5) 通过对明细表的统计和分析,得到结果报表信息(hive的查询操作);
整个的执行过程都需要人工参加,并且得盯着各任务的进度。但是我们的很多任务都是在深更半夜执行的,通过写脚本设置crontab执行。其实,整个过程类似于一个有向无环图(DAG)。每个子任务相当于大任务中的一个节点,也就是,我们需要的就是一个工作流的调度器,而Azkaban就是能解决上述问题的一个调度器
什么是azkaban
Azkaban特点
1)\t兼容任何版本的hadoop
2)\t易于使用的Web用户界面
3)\t简单的工作流的上传
4)\t方便设置任务之间的关系
5)\t调度工作流
6)\t模块化和可插拔的插件机制
7)\t认证/授权(权限的工作)
8)\t能够杀死并重新启动工作流
9)\t有关失败和成功的电子邮件提醒
常见工作流调度系统
简单的任务调度
复杂的任务调度
ooize和azkaban特性对比
Azkaban的架构
图示
1)\tAzkabanWebServer
2)\tAzkabanExecutorServer
3)\t关系型数据库(MySQL)
下载地址
Azkaban实战
单一job案例
1)创建job描述文件
2) 将job资源文件打包成zip文件
3)通过azkaban的web管理平台创建project并上传job的zip包
首先创建project
上传zip包
4)启动执行该job
点击执行工作流
点击继续
5)Job执行成功
6)点击查看job日志
多job工作流案例
1)创建有依赖关系的多个job描述
2)注意:将所有job资源文件打到一个zip包中
3)在azkaban的web管理界面创建工程并上传zip包
4)查看结果
java操作任务
1)编写java程序
2)将java程序打成jar包,创建lib目录,将jar放入lib内
3)编写job文件
4)将job文件打成zip包
5)通过azkaban的web管理平台创建project并上传job压缩包,启动执行该job
HDFS操作任务
2)将job资源文件打包成zip文件
3)通过azkaban的web管理平台创建project并上传job压缩包
5)查看结果
mapreduce任务
1)\t创建job描述文件,及mr程序jar包
2)\t将所有job资源文件打到一个zip包中
4)启动job
Hive脚本任务
1)创建job描述文件和hive脚本
0 条评论
回复 删除
下一页