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. flume MemoryChannel 源代码解析

    1.先分析三个LinkedBlockingDeque<Event>类型的takeList,putList,queue putList:  存放的是来自source生产的数据,通过调用doP ...

  2. session.upload_progress.enabled开启的问题

    exp.php的内容,存在文件包含 <?php include($_GET['lfi']); $key = ini_get("session.upload_progress.prefi ...

  3. 好用的纯CSS加载动画-spinkit

    首先放一个css  spinkit <style> .loaders{ width: 100%; height: 100%; padding: 100px; box-sizing: bor ...

  4. 关于SpringMVC整合freemarker报错问题

    错误信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'FreeMa ...

  5. CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第二件事就是 LED 驱动 ,点个灯

    /* * board_led.c * * Created on: 2018年7月3日 * Author: admin */ #include "board_uart.h" #inc ...

  6. CentOS 7.0 防火墙操作

    CentOS 7.0默认使用的是firewall作为防火墙,之前版本是使用iptables.所以在CentOS 7执行下面命令是无法查看防火墙状态的. [root@localhost ~]# serv ...

  7. DDL-表的管理

    一.创建表 ★create table [if not exists] 表名(    字段名 字段类型 [约束],    字段名 字段类型 [约束],    ...    字段名 字段类型 [约束] ...

  8. SQLServer禁用、启用外键约束

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ---启用or禁用指定表所有外键约束  alter table PUB_STRU  NOCHECK constrai ...

  9. 偏前端 - ios下position:fixed失效的问题解决

    如图,考虑到用户体验的问题,一般页面的下方提交按钮都会随着固定在页面上,方便用户点击. 有些人肯定就说了,这还不简单,position:fixed: 但是在ios这个坑货系统上这个position:f ...

  10. 关于JQuery的异步注册

    在采用JQuery进行表单异步提交时,前台传入的是json数据格式,后台controller用map接收,再传回前台进行结果判断时,if-else接收结果()里面,尽量不要出现“=”,不然判断语句失效 ...