Azkaban系统是一个数据处理的很好用的工具,可以用来运行hadoop任务,管理hdfs,可以进行schedule任务调度,总体来说功能还是很强大的。

研究了一下azkaban,做了以下总结性的东西,希望对用azkaban的人有所帮助。

1、Azkaban的安装

azkaban需要用到mysql进行数据的存储和交换。

azkaban分文两部分,分别是web server和executive server ,webserver 是前台页面的显示,默认的服务器是jetty,安装webserver需要对conf文件下的azkaban.properties文件进行配置,需要指定azkaban的web页面存储的文件夹,conf文件夹等文件夹的路径,可以使用相对路径,需要对mysql一些的连接函数进行配置,并将mysql-java-connetor.jar放置在exlib文件夹下。值得注意的是,启动azkaban时,需要在azkaban-web-server-start.sh将tempDir指定,temp文件夹是azkaban在运行时会自动创建的,所以需要将tempDir设置相对路径为:“./temp”(也就是在bin目录下)。executive server运行工作流,在运行之前,需要将一些需要的plugin解压到plugin文件夹下,并将hadoop home路径配置好。同上需要配置temp文件路径。关于配置hadoop路径在其文档中说的很明白,但是现在的azkaban只支持hadoop-0.2的版本,对与hadoop-2.0版本的支持不够好。

azkaban两个部分应分别启动,启动时,要给定azkaban安装的根目录和其他文件的路径,可以用相对路径,例如启动webserver时,输入“./azkaban-web-server-start.sh .. ..”。azkaban的两个部分都必须指定其web文件夹的路径,我没有试过在executor不输入web文件夹的路径会是什么样。因为我把webserver和executor都放在了一个服务器上,但是显然,azkaban并不需要把他们都放到一个服务器上。

2、Azkaban的运行

azakban目前只支持上传.zip的文件,把所有需要用到的jar包和配置都放到.zip文件中,上传文件的时候必须要用到IE浏览器。非常恶心的IE only。原因是在azkaban的上传过程中需要检测其文件后缀,但是除了IE会在上传的时候时候就把文件的路径无需配置的就区分开来,其他的非IE内核的貌似都不行。

3、azkaban的改造

因为azkaban只有一个executor的sever,虽然这个server可以放到一个hadoop集群上面,间接的管理很多机器。但是我希望azkaban这个系统不仅仅能够支持haodop的管理,而且对数据挖掘的整体调度都能够管理,由于azkaban的工作流控制和schedule做的都不错,只需对其进行一定的改造即可。

关于改造的具体细节,在另一片日志里面结合代码进行详细分析。

Azkaban系统的安装和分析。的更多相关文章

  1. Azkaban2.5安装部署(系统时区设置 + 安装和配置mysql + Azkaban Web Server 安装 + Azkaban Executor Server安装 + Azkaban web server插件安装 + Azkaban Executor Server 插件安装)(博主推荐)(五)

    Azkaban是什么?(一) Azkaban的功能特点(二) Azkaban的架构(三) Hadoop工作流引擎之Azkaban与Oozie对比(四) 不多说,直接上干货! http://www.cn ...

  2. Linux系统手动安装rpm包依赖关系分析(以Kernel升级为例)

    有在Linux系统中安装软件的经历的人都知道,在Linux系统中手动安装软件不想在Windows下安装软件那么方便,直接双击,然后下一步下一步就可以把软件成功的装入到系统中,而在Linux系统中,安装 ...

  3. (转)Android 系统 root 破解原理分析

    现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易.但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Lin ...

  4. 如何在 Ubuntu 15.04 系统中安装 Logwatch

    大家好,今天我们会讲述在 Ubuntu 15.04 操作系统上如何安装 Logwatch 软件,它也可以在各种 Linux 系统和类 Unix 系统上安装.Logwatch 是一款可定制的日志分析和日 ...

  5. 在Windows、Mac和 Linux系统中安装Python与 PyCharm

    “工欲善其事,必先利其器”,本文介绍 Python环境的安装和 Python的集成开发环境(IDE) PyCharn的安装.   一.Python安装( Windows.Mac和 Linux) 当前主 ...

  6. PM2.5环境检测系统的设计与分析

    PM2.5环境检测系统的设计与分析   摘要: 大气颗粒物污染对人类健康和生态环境造成了很大的影响,这让人们逐渐重视起对细颗粒物PM2.5检测技术的研究.本文阐述了PM2.5浓度检测的五种方法,在对上 ...

  7. Linux系统上安装docker + Compose并创建WordPress

    安装docker可参考我的另一篇文章 安装Compose Docker Compose 是 Docker 官方编排(Orchestration)项目之一, 负责快速在集群中部署分布式应用. 方法一 1 ...

  8. Android 系统 root 破解原理分析 (续)

    上文<Android系统root破解原理分析>介绍了Android系统root破解之后,应用程序获得root权限的原理.有一些网友提出对于root破解过程比较感兴趣,也提出了疑问.本文将会 ...

  9. Linux CentOS系统上安装Eclipse

    Linux CentOS系统上安装Eclipse 1. 下载Eclipse软件 下载网址:http://www.eclipse.org/downloads/packages/release/Juno/ ...

随机推荐

  1. mysql 数据增删改查基本语句

    增: insert insert into 表名(字段1,字段2,字段3......字段N) values(值1,值2,值3): 如果不申明插入那些字段,则默认所有字段. 如果一次可以插入多条数据 可 ...

  2. pop链构造

    class Person { private $name; private $sex; private $age; //__set()方法用来设置私有属性 function __set($proper ...

  3. 【JavaScript】particle

    这是js实现的粒子动画,有两种模式,分别是zoom和line,它们对应的效果不同,但是原理都相同,具体分析如下: 部分程序如下: var p = this; p.originParams = orig ...

  4. 2、Spring Cloud - 入门概述

    前言: Spring Cloud是什么: 官网说明 SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心, 全链路监控,服务网关,负载均衡,熔断器等组 ...

  5. [Python 多线程] Semaphore、BounedeSemaphore (十二)

    Semaphore 信号量,信号量对象内部维护一个倒计数器,每一次acquire都会减1,当acquire方法发现计数为0就阻塞请求的线程,直到其它线程对信号量release后,计数大于0,恢复阻塞的 ...

  6. PAT——1070. 结绳

    给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...

  7. 【Javascript-基础-getOwnPropertyNames】Object.getOwnPropertyNames() 获取对象自身可枚举属性

    可枚举属性和不可枚举属性 在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for-in查找遍历到. 可枚举属性 e ...

  8. iOS之利用腾讯Bugly程序调试,测试代码bug、卡顿等情况

    1.自己先写一个 Demo 演示一下利用bugly测试崩溃的具体情况. 在ViewController里面实现崩溃代码如下:  运行后 毫无疑问程序报错了! 2.使用到第三方的框架Bugly,官方下载 ...

  9. GPUImage源码解读之GLProgram

    简述 GLProgram是GPUImage中代表openGL ES 中的program,具有glprogram功能.其实是作者对OpenGL ES program的面向对象封装 初始化 - (id)i ...

  10. 获取Linux下的IP地址 java代码

    /** * 获取Linux下的IP地址 * * @return IP地址 * @throws SocketException */ public static String getLinuxLocal ...