安装过程 1.软件介绍 Azkaban Web 服务器:azkaban-web-server-2.5.0.tar.gz Azkaban Excutor 执行服务器:azkaban-executor-server-2.5.0.tar.gz Azkaban 初始化脚本文件:azkaban-sql-script-2.5.0.tar.gz 2.软件下载 下载地址:http://azkaban.github.io/downloads.html 3.安装说明 将安装文件上传到集群,最好上传到安装 hive.…
一.Azkaban 介绍 1.1 背景 一个完整的大数据分析系统,必然由很多任务单元(如数据收集.数据清洗.数据存储.数据分析等)组成,所有的任务单元及其之间的依赖关系组成了复杂的工作流.复杂的工作流管理涉及到很多问题: 如何定时调度某个任务? 如何在某个任务执行完成后再去执行另一个任务? 如何在任务失败时候发出预警? … 面对这些问题,工作流调度系统应运而生.Azkaban就是其中之一. 1.2 功能 Azkaban产生于LinkedIn,并经过多年生产环境的检验,它具备以下功能: 兼容任何版…
一.Flow 2.0 简介 1.1 Flow 2.0 的产生 Azkaban 目前同时支持 Flow 1.0 和 Flow2.0 ,但是官方文档上更推荐使用Flow 2.0,因为Flow 1.0会在将来的版本被移除.Flow 2.0的主要设计思想是提供1.0所没有的流级定义.用户可以将属于给定流的所有job / properties文件合并到单个流定义文件中,其内容采用YAML语法进行定义,同时还支持在流中再定义流,称为为嵌入流或子流. 1.2 基本结构 项目zip将包含多个流YAML文件,一个…
一.简介 Azkaban主要通过界面上传配置文件来进行任务的调度.它有两个重要的概念: Job: 你需要执行的调度任务: Flow:一个获取多个Job及它们之间的依赖关系所组成的图表叫做Flow. 目前 Azkaban 3.x 同时支持 Flow 1.0 和 Flow 2.0,本文主要讲解 Flow 1.0的使用,下一篇文章会讲解Flow 2.0的使用. 二.基本任务调度 2.1 新建项目 在Azkaban主界面可以创建对应的项目: 2.2 任务配置 新建任务配置文件Hello-Azkaban.…
界面介绍 首页有四个菜单 projects:最重要的部分,创建一个工程,所有flows将在工程中运行. scheduling:显示定时任务 executing:显示当前运行的任务 history:显示历史运行任务 介绍projects部分 概念介绍 创建工程:创建之前我们先了解下之间的关系,一个工程包含一个或多个flows,一个flow包含多个job.job是你想在azkaban中运行的一个进程,可以是简单的linux命令,可是java程序,也可以是复杂的shell脚本,当然,如果你安装相关插件…
一.为什么需要工作流调度器 1.一个完整的数据分析系统通常都是由大量任务单元组成: shell 脚本程序,java 程序,mapreduce 程序.hive 脚本等 2.各任务单元之间存在时间先后及前后依赖关系 3.为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行 例如,我们可能有这样一个需求,某个业务系统每天产生 20G 原始数据,我们每天都要对其进行处理,处理步骤如下所示: 1. 通过 Hadoop 先将原始数据同步到 HDFS 上: 2. 借助 MapReduce 计算…
一.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/ar…
python简介 一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. 目前最新版本为3.5.1,发布于2015年12月07日. 语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. 具有丰富和强大的库,底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快. 极其容易上手,因为Python有极其简单的说明文档. 免费.开源,是FLOSS(自由/开放源码软件)之一.使用者可以…
本文参考廖雪峰老师的博客进行总结,完整学习请转廖雪峰博客 Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制系统? GIT安装 1.linux环境下的安装 首先尝试输入git,查看系统是否安装有git 如果是Debian或者是Ubuntu linux系统,一条命令: sudo apt-get install git 就可以直接完成git的安装. 2. Windows环境的安装 msysgit是Window…
Sass是CSS的一种预处理器语言,类似的语言还有Less,Stylus等. 那么什么是CSS预处理器? CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作. 换言之就是说,CSS预处理器是一种专门的变成语言,在通过这种语言编写之后,再将其编译成正常的CSS文件. CSS预处理器给CSS增加了编程的特性,例如可以使用变量.函数.以及逻辑. CSS预处理器的优势: 可以让你…