安装过程 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.…
今天的第二更,被我拖到了傍晚,嘿嘿,二进制这方面让本就数学不好的我很头疼,所以研究了一段时间 在学习之前我们先了解几个问题: 32位是几个字节? 01011100对于十进制是多少? 00001111向左位移两位结果是多少?有什么规律? 以补码形式表示的8位二进制数11111111,十进制为多少? 二进制和十进制有什么区别? 在学习前肯定会对问题里的一些属于感到蒙蔽,不要急,按照我写的一步一步往下看,再回头看这些问题,就会迎刃而解 为什么要用二进制? 可能有些人不了解我们放着好好地十进制不用为什么…
一.独立验证器 我上篇中我将AndCompositeValidator和OrCompositeValidator归为独立验证器,这2个验证器主要是为了第一类验证服务,可以进行多种验证组合在一起进行复杂验证: AndCompositeValidator——组合验证,逻辑与验证,所包含的多种验证全部通过则通过 OrCompositeValidator——组合验证,逻辑或验证,所包含的多种验证有一个通过则通过 这2类的验证器可以通过配置工具进行配置: 其配置方式和原有的配置一样,只不过是将各个具体的验…
一.为什么需要工作流调度器 1.一个完整的数据分析系统通常都是由大量任务单元组成: shell 脚本程序,java 程序,mapreduce 程序.hive 脚本等 2.各任务单元之间存在时间先后及前后依赖关系 3.为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行 例如,我们可能有这样一个需求,某个业务系统每天产生 20G 原始数据,我们每天都要对其进行处理,处理步骤如下所示: 1. 通过 Hadoop 先将原始数据同步到 HDFS 上: 2. 借助 MapReduce 计算…
一.Azkaban 介绍 1.1 背景 一个完整的大数据分析系统,必然由很多任务单元(如数据收集.数据清洗.数据存储.数据分析等)组成,所有的任务单元及其之间的依赖关系组成了复杂的工作流.复杂的工作流管理涉及到很多问题: 如何定时调度某个任务? 如何在某个任务执行完成后再去执行另一个任务? 如何在任务失败时候发出预警? … 面对这些问题,工作流调度系统应运而生.Azkaban就是其中之一. 1.2 功能 Azkaban产生于LinkedIn,并经过多年生产环境的检验,它具备以下功能: 兼容任何版…
界面介绍 首页有四个菜单 projects:最重要的部分,创建一个工程,所有flows将在工程中运行. scheduling:显示定时任务 executing:显示当前运行的任务 history:显示历史运行任务 介绍projects部分 概念介绍 创建工程:创建之前我们先了解下之间的关系,一个工程包含一个或多个flows,一个flow包含多个job.job是你想在azkaban中运行的一个进程,可以是简单的linux命令,可是java程序,也可以是复杂的shell脚本,当然,如果你安装相关插件…
一.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.…
一.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…
1. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?原子操作是指一个不受其他操作影响的操作任务单元.原子操作是在多线程环境下避免数据不一致必须的手段. int++并不是一个原子操作,所以当一个线程读取它的值并加1时,另外一个线程有可能会读到之前的值,这就会引发错误. 为了解决这个问题,必须保证增加操作是原子的,在JDK1.5之前我们可以使用同步技术来做到这一点.到JDK1.5,java.util.concurrent.atomic包提供…