一、前言

最近试着参照官方文档搭建 Azkaban,发现文档很多地方有坑,所以在此记录一下。

二、环境及软件

安装环境:

  • 系统环境: ubuntu-12.04.2-server-amd64
  • 安装目录: /usr/local/ae/ankaban
  • JDK 安装目录: export JAVA_HOME=/usr/local/ae/jdk1.7.0_51
  • Hadoop 安装目录 export HADOOP_HOME=/usr/local/ae/hadoop-1.2.1
  • Mysql 版本:mysql-server-5.5

需要软件:

Azkaban source: github.com/azkaban/azkaban

Azkaban plugins source:github.com/azkaban/azkaban-plugins

doc:azkaban.github.io/azkaban/docs/2.5/

三、配置Mysql

  1. 解压azkaban-sql-script-2.5.0.tar.gz

    user@ae01:/usr/local/ae/azkaban$ tar -zxvx azkaban-sql-script-2.5.0.tar.gz
  2. 登录Mysql 创建Database azkaban
    user@ae01:/usr/local/ae/azkaban$ mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is
    Server version: 5.5.-0ubuntu0.12.04. (Ubuntu) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database azkaban;
  3. 创建 Azkaban 表格
    mysql> use azkaban
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A Database changed
    mysql> source /usr/local/ae/azkaban/azkaban-2.5./create-all-sql-2.5..sql
  4. 为 Azkaban 创建用户 azkaban
    mysql> grant all privileges on azkaban.* to 'azkaban'@'localhost' identified by 'azkaban';
    mysql> flush privileges;

四、配置 azkaban-web

  1. 解压 azkaban-web-server-2.5.0.tar.gz

    user@ae01:/usr/local/ae/azkaban$ tar -zxvx azkaban-web-server-2.5.0.tar.gz
  2. 生成SSL 证书
    关于怎么使用 Java keytool 生成 keystore 和 Truststore 文件 可以参考我之前的随笔。
    在这里可以只简单的生成 keystore 文件,并将生成的 keystore 文件拷贝至 /usr/local/ae/azkaban/azkaban-web-2.5.0/web 文件下。
    本文中证书文件为 keystone, keypass 为 kestore。
  3. 修改 ./conf/azkaban.properties
    #Azkaban Personalization Settings
    azkaban.name=Azkaban
    azkaban.label=My Local Azkaban
    azkaban.color=#FF3601
    azkaban.default.servlet.path=/index
    web.resource.dir=web/
    default.timezone.id=Asia/Shanghai #Azkaban UserManager class
    user.manager.class=azkaban.user.XmlUserManager
    user.manager.xml.file=conf/azkaban-users.xml #Loader for projects
    executor.global.properties=../conf/global.properties
    azkaban.project.dir=projects
    project.temp.dir=temp
    trigger.plugin.dir=plugins/triggers database.type=mysql
    mysql.port=
    mysql.host=localhost
    mysql.database=azkaban
    mysql.user=azkaban
    mysql.password=azkaban
    mysql.numconnections= # Velocity dev mode
    velocity.dev.mode=false # Azkaban Jetty server properties.
    jetty.maxThreads=
    jetty.ssl.port=
    jetty.port=
    jetty.keystore=web/keystore
    jetty.password=keystore
    jetty.keypassword=jetty-azkaban
    jetty.truststore=web/keystore
    jetty.trustpassword=keystore # Azkaban Executor settings
    executor.port= # mail settings
    mail.sender=***********************
    mail.host=***********************
    mail.user=************************
    mail.password=******
    job.failure.email=*************************
    job.success.email=************************* lockdown.create.projects=false cache.directory=cache
  4. 启动 azkaban-web
    user@ae01:/usr/local/ae/azkaban/azkaban-web-2.5.$ sh bin/azkaban-web-start.sh

    Note: 1. Azkaban 在启动是会生成两个日志文件azkaban-access.log/azkaban-webserver.log,他们的生成位置是在你执行脚本的目录,所以建议你最好还是在AZKABAN_HOME 目录下执行启动脚本,如果你喜欢在 ./bin 目录下启动,你需要将上文第3步骤的红色标记处修改目录位置为 ../${dir}。
         2. Azkaban 需要在 ./plugins 的文件夹下手动生成一个 triggers 的目录,否则启动日志会报错。但如果添加 triggers 文件夹后,登录页面时 500 并提示 Velocity could not be initialized! 那就删除 ./plugins/tirggers 文件夹。

  5. 登录 https:ae01:8443 username:azkaban; password:azkaban
  6. 修改 azkaban-web 启动文件
    如果发现无法上传文件,需要修改 azkaban-web 的启动脚本 azkaban-web-start.sh
    if [[ -z "$tmpdir" ]]; then    --->    if [ -z "$tmpdir" ]; then

五、配置 azkaban-executor

  1. 解压 azkaban-executor-server-2.5.0.tar.gz

    user@ae01:/usr/local/ae/azkaban$ tar -zxvx azkaban-executor-server-2.5.0.tar.gz
  2. 配置 ./conf/azkaban.properties
    #Azkaban
    default.timezone.id=America/Los_Angeles # Azkaban JobTypes Plugins
    azkaban.jobtype.plugin.dir=plugins/jobtypes #Loader for projects
    executor.global.properties=conf/global.properties
    azkaban.project.dir=projects
    azkaban.execution.dir=executions
    project.temp.dir=temp database.type=mysql
    mysql.port=
    mysql.host=localhost
    mysql.database=azkaban
    mysql.user=azkaban
    mysql.password=azkaban
    mysql.numconnections= # Azkaban Executor settings
    executor.maxThreads=
    executor.port=
    executor.flow.threads=
  3. 配置 jobtype 插件
    解压 azkaban-jobtype-2.5.0.tar.gz 至 ./plugins 并重命名为 jobtypes
    user@ae01:/usr/local/ae/azkaban/azkaban-executor-2.5./plugins$ tar -zxvx azkaban-jobtype-2.5..tar.gz
    user@ae01:/usr/local/ae/azkaban/azkaban-executor-2.5./plugins$ mv ./azkaban-jobtype-2.5. ./jobtypes

    配置 ./conf/common.propertes

    ## everything that the user job can know
    
    hadoop.home=/usr/local/ae/hadoop-1.2.
    #hive.home=
    #pig.home= azkaban.should.proxy=true
    jobtype.global.classpath=${hadoop.home}/hadoop-core-1.2..jar,${hadoop.home}/conf
  4. 启动 azkaban-executor
    user@ae01:/usr/local/ae/azkaban/azkaban-executor-2.5.$ sh bin/azkaban-executor-start.sh

    Note: 1. Azkaban 在启动是会生成两个日志文件azkaban-access.log/azkaban-webserver.log,他们的生成位置是在你执行脚本的目录,所以建议你最好还是在AZKABAN_HOME 目录下执行启动脚本,如果你喜欢在 ./bin 目录下启动,你需要将上文第2步骤的红色标记处修改目录位置为 ../${dir}

Azkaban 2.5.0 搭建的更多相关文章

  1. Azkaban 2.5.0 搭建和一些小问题

    安装环境: 系统环境: ubuntu-12.04.2-server-amd64 安装目录: /usr/local/ae/ankaban JDK 安装目录: export JAVA_HOME=/usr/ ...

  2. 【Azkaban搭建】---Azkaban 3.25.0搭建细则 超实用

    一.前述 Azkaban是一个工作流调度工具,因为需要各个任务之间有依赖关系,传统的Crontab 任务已经不能满足. 所以需要建立一套工作流引擎.相比Ooize来说,Azkaban的优势是作为一个客 ...

  3. Azkaban 2.5.0 job type 插件安装

    一.环境及软件 安装环境: 安装目录: /usr/local/ae/ankaban Hadoop 安装目录 export HADOOP_HOME=/usr/local/ae/hadoop-1.2.1 ...

  4. Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架

    Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...

  5. 超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群

    超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群 ps:本文的步骤已自实现过一遍,在正文部分避开了旧版教程在新版使用导致出错的内容,因此版本一致的情况下照搬执行基本不会有大错误. ...

  6. Azkaban学习之路(四)—— Azkaban Flow 2.0的使用

    一.Flow 2.0 简介 1.1 Flow 2.0 的产生 Azkaban 目前同时支持 Flow 1.0 和 Flow2.0 ,但是官方文档上更推荐使用Flow 2.0,因为Flow 1.0会在将 ...

  7. Azkaban Flow 2.0 使用简介

    官方建议使用Flow 2.0来创建Azkaban工作流,且Flow 1.0将被弃用 目录 目录 一.简单的Flow 1. 新建 flow20.project 文件 2. 新建 .flow 文件 3. ...

  8. Vulkan(0)搭建环境-清空窗口

    Vulkan(0)搭建环境-清空窗口 认识Vulkan Vulkan是新一代3D图形API,它继承了OpenGL的优点,弥补了OpenGL的缺憾.有点像科创板之于主板,歼20之于歼10,微信之于QQ, ...

  9. 分布式任务调度框架 Azkaban —— Flow 2.0 的使用

    一.Flow 2.0 简介 1.1 Flow 2.0 的产生 Azkaban 目前同时支持 Flow 1.0 和 Flow2.0 ,但是官方文档上更推荐使用 Flow 2.0,因为 Flow 1.0 ...

随机推荐

  1. September 4th 2016 Week 37th Sunday

    The morning crowned the humble cloud with splendor. 晨光为谦逊的白云披上壮丽的光彩. Humility is a virtue. Many famo ...

  2. 利用android来赚钱

    看了一篇fenger 大神写的文章,受益匪浅,在此做一下记录 转载地址:http://bbs.csdn.net/topics/370249613 其他参考地址: http://bbs.gfan.com ...

  3. Qt中如何添加.qrc文件

    You need a resource file (.qrc) within which you embed the input text file. The input file can be an ...

  4. Struts2之OGNL

    一.OGNL是什么? OGNL(Object-Graph Navigation Language)对象图导航语言,是一种表达式语言,它可以 1.遍历对象的结构图 2.存取对象的属性(实例属性和静态属性 ...

  5. cascade 介绍与用法 ( oracle)

    级联删除,比如你删除某个表的时候后面加这个关键字,会在删除这个表的同时删除和该表有关系的其他对象 1.级联删除表中的信息,当表A中的字段引用了表B中的字段时,一旦删除B中该字段的信息,表A的信息也自动 ...

  6. hdu 1279 验证角谷猜想

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1279 #include<stdlib.h> #include<time.h> ...

  7. Vi 的基本使用

    一.Vi入门  Unix 提供了全屏幕的Vi编辑器,这使我们的工作轻松不少.不少DOS用户抱怨Vi编辑器不象DOS下的编辑器如edit那么好用,这 是因为Vi考虑到各种用户的需要,没有使用某些通用的编 ...

  8. 数据结构和算法 – 10.集合

    集合: 联合.交叉.差异.子集 using System; using System.Collections; using System.Collections.Generic; using Syst ...

  9. php页面判断是 iphone还是andriod的浏览器&通过 URL types在浏览器打开app(转)

    http://blog.csdn.net/totogo2010/article/details/8925483 解决一个二维码不同手机扫描下载时跳转的问题 判断后跳转对应的app下载 <?php ...

  10. Android 注解工具 ButterKnife

    Butter Knife 是 Android 视图字段和方法绑定,使用注解处理来生成样板代码. 主要特性: 在字段使用 @FindView消除findViewById调用 使用 @FindViews在 ...