Azkaban

Azkaban、Xxl-Job与Airflow对比分析

懵懂的女人 提交于 2019-11-29 19:49:47
概述 Xxl-Job 简述 XXL-JOB是一个国内轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。基于Java技术栈,调度中心与执行器通信基于作者另一个开源项目 xxl-rpc ,采用自建注册中心,整体架构简单明了,易于上手。 图片来源:http://www.xuxueli.com/xxl-job/#/?id=_533-架构图 项目地址 Github: xuxueli/xxl-job Azkaban 简述 Azkaban为LinkedIn开源的分布式工作流调度框架,项目起源于解决Hadoop Jop依赖管理问题,但实际已经是一个通用的工作流调度框架,适用于不同业务场景。 图片来源:https://github.com/azkaban/azkaban/blob/master/docs/figures/azkaban2overviewdesign.png 项目地址 Github: azkaban/azkaban Airflow 简述 Apache-Airflow 是Airbnb开源的一款数据流程工具,已经在Apache孵化成功,成为Apache的顶级项目。以非常灵活的方式来支持数据的ETL过程,同时还支持非常多的插件来完成诸如HDFS监控、邮件通知等功能。Airflow支持单机和分布式两种模式,支持Master-Slave模式,支持Mesos等资源调度

Python3实战Spark大数据分析及调度

旧城冷巷雨未停 提交于 2019-11-29 17:26:14
Python3实战Spark大数据分析及调度 搜索QQ号直接加群获取其它学习资料:715301384 部分课程截图: 链接:https://pan.baidu.com/s/12VDmdhN4hr7ypdKTJvvgKg 提取码:cv9z PS:免费分享,若点击链接无法获取到资料,若如若链接失效请加群 其它 资源在群里,私聊管理员即可免费领取;群——715301384,点击加群 ,或扫描二维码 第1章 课程介绍 课程介绍 1-1 PySpark导学 试看 1-2 OOTB环境演示 第2章 实战环境搭建 工欲善其事必先利其器,本章讲述JDK、Scala、Hadoop、Maven、Python3以及Spark源码编译及部署 2-1 -课程目录 2-2 -Java环境搭建 2-3 -Scala环境搭建 2-4 -Hadoop环境搭建 2-5 -Maven环境搭建 2-6 -Python3环境部署 2-7 -Spark源码编译及部署 第3章 Spark Core核心RDD 本章详细讲解RDD是什么以及特性(面试常考)、Spark中两个核心类SparkContext和SparkConf、pyspark启动脚本分析、RDD的创建方式以及如何使用IDE开发Python Spark应用程序并提交到服务器上运行 3-1 -课程目录 3-2 -RDD是什么 3-3 -通过电影描述集群的强大之处 3-4

Azkaban 简介

流过昼夜 提交于 2019-11-29 03:11:28
一、Azkaban 介绍 1.1 背景 一个完整的大数据分析系统,必然由很多任务单元 (如数据收集、数据清洗、数据存储、数据分析等) 组成,所有的任务单元及其之间的依赖关系组成了复杂的工作流。复杂的工作流管理涉及到很多问题: 如何定时调度某个任务? 如何在某个任务执行完成后再去执行另一个任务? 如何在任务失败时候发出预警? ...... 面对这些问题,工作流调度系统应运而生。Azkaban 就是其中之一。 1.2 功能 Azkaban 产生于 LinkedIn,并经过多年生产环境的检验,它具备以下功能: 兼容任何版本的 Hadoop 易于使用的 Web UI 可以使用简单的 Web 页面进行工作流上传 支持按项目进行独立管理 定时任务调度 模块化和可插入 身份验证和授权 跟踪用户操作 支持失败和成功的电子邮件提醒 SLA 警报和自动查杀失败任务 重试失败的任务 Azkaban 的设计理念是在保证功能实现的基础上兼顾易用性,其页面风格清晰明朗,下面是其 WEB UI 界面: 二、Azkaban 和 Oozie Azkaban 和 Oozie 都是目前使用最为广泛的工作流调度程序,其主要区别如下: 功能对比 两者均可以调度 Linux 命令、MapReduce、Spark、Pig、Java、Hive 等工作流任务; 两者均可以定时执行工作流任务。 工作流定义 Azkaban 使用

Azkaban 3.x 编译及部署

时光总嘲笑我的痴心妄想 提交于 2019-11-29 03:11:27
一、Azkaban 源码编译 1.1 下载并解压 Azkaban 在 3.0 版本之后就不提供对应的安装包,需要自己下载源码进行编译。 下载所需版本的源码,Azkaban 的源码托管在 GitHub 上,地址为 https://github.com/azkaban/azkaban 。可以使用 git clone 的方式获取源码,也可以使用 wget 直接下载对应 release 版本的 tar.gz 文件,这里我采用第二种方式: # 下载 wget https://github.com/azkaban/azkaban/archive/3.70.0.tar.gz # 解压 tar -zxvf azkaban-3.70.0.tar.gz 1.2 准备编译环境 1. JDK Azkaban 编译依赖 JDK 1.8+ ,JDK 安装方式见本仓库: Linux 环境下 JDK 安装 2. Gradle Azkaban 3.70.0 编译需要依赖 gradle-4.6-all.zip 。Gradle 是一个项目自动化构建开源工具,类似于 Maven,但由于采用 Groovy 语言进行项目配置,所以比 Maven 更为灵活,目前广泛用于 Android 开发、Spring 项目的构建。 需要注意的是不同版本的 Azkaban 依赖 Gradle 版本不同,可以在解压后的 /gradle

Azkaban 任务调度系统(使用和小技巧)

烈酒焚心 提交于 2019-11-28 19:38:44
上节主要介绍了安装搭建和简单的运行一个job,但是真正使用到实际场景还是需要了解更多的知识,比如任务怎么互相依赖,可以选择指定的节点来执行吗等等一些相关的操作会在本节中进行介绍 附上: 喵了个咪的博客: w-blog.cn Azkaban官网: https://azkaban.github.io 官方文档地址: http://azkaban.github.io/azkaban/docs/latest 一 ,任务依赖 之前说的都是部署方式和一个简单的运行例子,那么像开头说的如果任务直接有依赖关系咋办呢? 那就需要用到 dependencies 关键字了 > mkdir azkaban_job > vim azkaban_job/one.job type=command command=echo "this is job one" > vim azkaban_job/tow.job type=command dependencies=one command=echo "this is job two" zip -r azkaban_job.zip azkaban_job/ 二 ,指定exec运行对应的任务 笔者遇到了难题,现在Azkaban管着3个exec,其中2个是hadoop的一个是docker相关的,但是Azkaban选择执行任务的节点是更具节点的资源来调度的

Azkaban 任务调度系统(安装搭建)

﹥>﹥吖頭↗ 提交于 2019-11-27 13:44:30
无论是在业务开发还是在大数据开发中,脚本都是必不可少的存在,在初期我们会使用crontab来解决问题,那么当发现规模变大监控需求可视化需求的到来Crontab已经显然满足不了需求,抱着一颗解决大数据任务脚本和业务任务脚本难题的心态最终在oozie和Azkaban选择了使用Azkaban来作为公共任务调度系统,那么就随着笔者一同来学习Azkaban的基础搭建场景和基本使用吧. 附上: 喵了个咪的博客: w-blog.cn Azkaban官网: https://azkaban.github.io 官方文档地址: http://azkaban.github.io/azkaban/docs/latest 一 ,基础介绍 为什么需要任务调度? 一个完整的数据分析系统(业务系统)通常都是由大量任务单元组成: shell脚本程序 java,python程序 mapreduce程序 hive脚本等 ...等等 各任务单元之间存在时间先后及前后依赖关系 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行; 1、 通过Hadoop先将原始数据同步到HDFS上; 2、 借助MapReduce计算框架对原始数据进行转换,生成的数据以分区表的形式存储到多张Hive表中; 3、 需要对Hive中多个表的数据进行JOIN处理,得到一个明细数据Hive大表 ; 4、 将明细数据进行复杂的统计分析

Azkaban3.x编译

冷暖自知 提交于 2019-11-26 16:55:19
1.环境准备 git,gcc,g++, jdk1.8,联网环境 2.下载azkaban源码 git clone https://github.com/azkaban/azkaban.git 或者(本次编译的是3.7.x) wget https://github.com/azkaban/azkaban/archive/3.70.2.tar.gz 3.编译 1. 进入源码目录 /opt/cs/azkaban-3.43.0 [root@CS6 azkaban-3.70.2]# ll 总用量 172 drwxrwxr-x. 3 root root 4096 5月 17 07:41 az-core drwxrwxr-x. 4 root root 4096 5月 17 07:41 az-crypto drwxrwxr-x. 5 root root 4096 5月 17 07:41 az-examples drwxrwxr-x. 3 root root 4096 5月 17 07:41 az-exec-util drwxrwxr-x. 3 root root 4096 5月 17 07:41 az-flow-trigger-dependency-plugin drwxrwxr-x. 3 root root 4096 5月 17 07:41 az-flow-trigger-dependency

大数据教程(13.3)azkaban简介&安装

只谈情不闲聊 提交于 2019-11-26 14:57:25
上一节介绍了Flume多个agent连接配合使用。本节博主将为小伙伴们介绍azkaban的相关概念、简单的安装使用。由于azkaban使用新版本太耗时间,需要编译安装,所以博主此次就使用编译好的老版本2.5;等全部教程做完后,博主会将各软件的最新版本的使用安装在后面补充章节中推出。 一、工作流调度器azkaban 概述 1.1、 为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序,java程序,mapreduce程序、hive脚本等,各任务单元之间存在时间先后及前后依赖关系,为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行; 例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处理,处理步骤如下所示: 1、通过Hadoop先将原始数据同步到HDFS上; 2、借助MapReduce计算框架对原始数据进行转换,生成的数据以分区表的形式存储到多张Hive表中; 3、需要对Hive中多个表的数据进行JOIN处理,得到一个明细数据Hive大表; 4、将明细数据进行复杂的统计分析,得到结果报表信息; 5、需要将统计分析得到的结果数据同步到业务系统中,供业务调用使用。 1.2、工作流调度实现方式 简单的任务调度:直接使用linux的crontab来定义; 复杂的任务调度

ETL调度系统及常见工具对比:azkaban、oozie、数栖云

六眼飞鱼酱① 提交于 2019-11-25 22:25:32
最近遇到了很多正在研究ETL及其工具的同学向我们抱怨:同样都在用 Kettle ,起点明明没差异,但为什么别人ETL做的那么快那么好,自己却不断掉坑? 其实,类似于像 Kettle 这样开源的工具,已经覆盖了大部分日常工作所需的功能了,直接部署一套就能够解决企业基本的需求。但在实际使用的过程中我们也会发现,kettle 如同是一个出场自带电话短信功能的智能手机,少了功能各异的智能 App 的配合,和只能接打电话的老年机也没什么不同。 今天我们就先对其中一个比较火热的“App”——调度工具,做一个简单的评测对比,帮助大家快速解锁用开源工具做 ETL 的新姿势。 一、为什么需要调度系统? 开局我们先扫盲。 我们都知道大数据的计算、分析和处理,一般由多个任务单元组成(Hive、Sparksql、Spark、Shell等),每个任务单元完成特定的数据处理逻辑。 多个任务单元之间往往有着强依赖关系,上游任务执行并成功,下游任务才可以执行。比如上游任务结束后拿到 A 结果,下游任务需结合 A 结果才能产出 B 结果,因此下游任务的开始一定是在上游任务成功运行拿到结果之后才可以开始。 而为了保证数据处理结果的准确性,就必须要求这些任务按照上下游依赖关系有序、高效的执行。一个较为基础的处理方式是,预估出每个任务处理所需时间,根据先后顺序,计算出每个任务的执行的起止时间,通过定时跑任务的方式