一、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/archive/3.70.0.tar.gz
# 解压
tar -zxvf azkaban-3.70.0.tar.gz

1.2 准备编译环境

1. JDK

Azkaban 编译依赖JDK 1.8+ ,JDK安装方式见本仓库:

Linux环境下JDK安装

2. Gradle

Azkaban 3.70.0编译需要依赖gradle-4.6-all.zip。Gradle是一个项目自动化构建开源工具,类似于Maven,但由于采用Groovy语言进行项目配置,所以比Maven更为灵活,目前广泛用于Android开发、Spring项目的构建。

需要注意的是不同版本的Azkaban依赖Gradle版本不同,可以在解压后的/gradle/wrapper/gradle-wrapper.properties文件查看

在编译时程序会自动去图中所示的地址进行下载,但是下载速度很慢。为避免影响编译过程,建议先手动下载至/gradle/wrapper/目录下:

# wget https://services.gradle.org/distributions/gradle-4.6-all.zip

然后修改配置文件gradle-wrapper.properties中的distributionUrl属性,指明使用本地的gradle。

3. Git

Azkaban 的编译过程需要用Git下载部分JAR包,所以需要预先安装Git:

# yum install git

1.3 项目编译

在根目录下执行编译命令,编译成功后会有BUILD SUCCESSFUL的提示:

# ./gradlew build installDist -x test

编译过程中需要注意以下问题:

  • 因为编译的过程需要下载大量的Jar包,下载速度根据网络情况而定,通常都不会很快,如果网络不好,耗费半个小时,一个小时都是很正常的;
  • 编译过程中如果出现网络问题而导致JAR无法下载,编译可能会被强行终止,这时候重复执行编译命令即可,gradle会把已经下载的JAR缓存到本地,所以不用担心会重复下载JAR包。

二、Azkaban 部署模式

After version 3.0, we provide two modes: the stand alone “solo-server” mode and distributed multiple-executor mode. The following describes thedifferences between the two modes.

按照官方文档的说明,Azkaban 3.x 之后版本提供2种运行模式:

  • solo server model(单服务模式) :元数据默认存放在内置的H2数据库(可以修改为MySQL),该模式中webServer(管理服务器)和 executorServer(执行服务器)运行在同一个进程中,进程名是AzkabanSingleServer。该模式适用于小规模工作流的调度。

  • multiple-executor(分布式多服务模式) :存放元数据的数据库为MySQL,MySQL应采用主从模式进行备份和容错。这种模式下webServerexecutorServer在不同进程中运行,彼此之间互不影响,适合用于生产环境。

下面主要介绍Solo Server模式。

三 、Solo Server 模式部署

2.1 解压

Solo Server 模式安装包在编译后的/azkaban-solo-server/build/distributions目录下,找到后进行解压即可:

# 解压
tar -zxvf  azkaban-solo-server-3.70.0.tar.gz

2.2 修改时区

这一步不是必须的。但是因为Azkaban默认采用的时区是America/Los_Angeles,如果你的调度任务中有定时任务的话,就需要进行相应的更改,这里我更改为常用的Asia/Shanghai

2.3 启动

执行启动命令,需要注意的是一定要在根目录下执行,不能进入bin目录下执行,不然会抛出Cannot find 'database.properties'异常。

# bin/start-solo.sh

2.4 验证

验证方式一:使用jps命令查看是否有AzkabanSingleServer进程:

验证方式二:访问8081端口,查看Web UI界面,默认的登录名密码都是azkaban,如果需要修改或新增用户,可以在conf/azkaban-users.xml文件中进行配置:

更多大数据系列文章可以参见个人 GitHub 开源项目: 程序员大数据入门指南

Azkaban —— 编译及部署的更多相关文章

  1. Azkaban学习之路(二)—— Azkaban 3.x 编译及部署

    一.Azkaban 源码编译 1.1 下载并解压 Azkaban 在3.0版本之后就不提供对应的安装包,需要自己下载源码进行编译. 下载所需版本的源码,Azkaban的源码托管在GitHub上,地址为 ...

  2. Azkaban 3.x 编译及部署

    一.Azkaban 源码编译 1.1 下载并解压 Azkaban 在 3.0 版本之后就不提供对应的安装包,需要自己下载源码进行编译. 下载所需版本的源码,Azkaban 的源码托管在 GitHub ...

  3. Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

    [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...

  4. Spark入门实战系列--2.Spark编译与部署(中)--Hadoop编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Hadooop 1.1 搭建环境 1.1.1 安装并设置maven 1. 下载mave ...

  5. Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Spark .时间不一样,SBT是白天编译,Maven是深夜进行的,获取依赖包速度不同 ...

  6. Windows Phone 8初学者开发—第8部分:理解编译和部署

    原文 Windows Phone 8初学者开发—第8部分:理解编译和部署 第8部分:理解编译和部署 原文地址: http://channel9.msdn.com/Series/Windows-Phon ...

  7. Spark编译与部署

    Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建   [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.S ...

  8. Qt 5.9.4 如何静态编译和部署?

    Qt 5.9.4 如何静态编译和部署? MSVC2015 x86 静态编译 Qt 部署静态库 VS2015 部署静态库 1. MSVC2015 x86 静态编译 1.1 Qt 官网下载最新源代码 立即 ...

  9. 使用Remix编译和部署以太坊智能合约

      Remix 是一個开源的 Solidity 智能合约开发环境,提供基本的编译.部署至本地或测试网络.执行合约等功能.Solidity 是 以太坊Ethereum 官方设计和支持的开发语言,专门用于 ...

随机推荐

  1. sqlserver中获取最后一个字符所在的位置

    CHARINDEX('字符',reverse(字段名称)) 这个意思就是将字段进行反转,就是从后往前取,这样就能够获取一个字符最后所在的位置

  2. win10家庭版连接不上远程桌面

    解决方案来自于:https://blog.csdn.net/weixin_39129504/article/details/80303615 这个解决方案的关键: done!不知是否侵权  如有侵权 ...

  3. HDU2665 Kth number 【合并树】

    Kth number Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  4. python3处理不标准json数据

    keywords: python jsonsource: http://txw1958.cnblogs.com/ 先看下JSON的语法规则: JSON 语法规则JSON 语法是 JavaScript ...

  5. WPF 关于圆角的制作

    原文:WPF 关于圆角的制作 1.使用Boder(一般情况): 设置CornerRadius属性 <Border x:Name="border" CornerRadius=& ...

  6. WPF4文字模糊不清晰、边框线条粗细不一致的解决方法

    原文:WPF4文字模糊不清晰.边框线条粗细不一致的解决方法 软件测试过程中发现在一台1600*900的分辨率电脑上文字模糊,甚至某些个文字出现压缩扭曲 经过实践,发现按下面方法能解决一点问题: 在窗口 ...

  7. 用WPF实现打印及打印预览

    原文:用WPF实现打印及打印预览 应该说,WPF极大地简化了我们的打印输出工作,想过去使用VC++做开发的时候,打印及预览可是一件极麻烦的事情,而现在我不会再使用C++来做Windows的桌面应用了- ...

  8. ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Windows 环境配置 ASP.NET Core ...

  9. RTB业务知识2-Open-RTB全景

    一个.前言 openrtb这是一套开源的竞价广告系统,来自IAB贡献,井. 有许多值太借鉴,提供sdk api接口文档介绍,整理了相关的资料.主要包含其生态图体系.业务流程和基本的对象模型和数据模型. ...

  10. python_简单的DB统计

    import numpy as npimport pylab as pldates=['20170314','20170315','20170316','20170317','20170318','2 ...