官网地址:https://azkaban.readthedocs.io
Azkaban 有三种部署方式:单服务模式、2个服务模式、分布式多服务模式
简单实用仅需单服务模式即可
2个服务模式,需要配置mysql, Azkaban使用MySQL来存储项目和执行

它具有如下功能特点:

1、Web用户界面
2、方便上传工作流
3、方便设置任务之间的关系
4、工作流调度
5、认证/授权
6、能够杀死并重启工作流
7、模块化和可插拔的插件机制
8、项目工作区
9、工作流和任务的日志记录和审计

一、下载编译软件 gradle

下载解压

$ wget http://services.gradle.org/distributions/gradle-5.4.1-bin.zip
$ unzip gradle-5.4.1-bin.zip -d /opt/
$ cd /opt/gradle-5.4.1/

添加到环境变量

$ export GRADLE_HOME=/opt/gradle-5.4.1
$ export PATH=$GRADLE_HOME/bin:$PATH

验证是否安装成功

$ gradle -v

------------------------------------------------------------
Gradle 5.4.1
------------------------------------------------------------ Build time: 2019-04-26 08:14:42 UTC
Revision: 261d171646b36a6a28d5a19a69676cd098a4c19d Kotlin: 1.3.21
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 1.8.0_211 (Oracle Corporation 25.211-b12)
OS: Linux 3.10.0-957.21.2.el7.x86_64 amd64

二、下载Azkaban源码编译包,并编译

下载解压

$ wget https://github.com/azkaban/azkaban/archive/3.57.0.tar.gz
$ tar -xzvf 3.57.0.tar.gz -C /opt/

编译

$ cd /opt/azkaban-3.57.0/
$ ./gradlew build -x test BUILD SUCCESSFUL in 32m 7s
73 actionable tasks: 73 executed

编译成功后包存在的位置

$ pwd
/home/hadoop/softwares/azkaban-3.57.0/azkaban-solo-server/build/distributions

解压

$ tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz -C ~/apps/

修改配置文件

azkaban.properties

# Azkaban Personalization Settings
azkaban.name=xiaoming
azkaban.label=xiaoming Azkaban

azkaban-users.xml

 <azkaban-users>
<user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
<user password="metrics" roles="metrics" username="metrics"/>
<!--新增用户的配置-->
<user password="admin" roles="admin" username="admin"/> <role name="admin" permissions="ADMIN"/>
<role name="metrics" permissions="METRICS"/>
</azkaban-users>

启动

$ pwd
/home/hadoop/apps/azkaban-solo-server-0.1.0-SNAPSHOT/
$ ./bin/start-solo.sh
$ jps
4032 AzkabanSingleServer #查看启动日志
$ pwd
/home/hadoop/apps/azkaban-solo-server-0.1.0-SNAPSHOT/bin/local
$ less azkaban-webserver.log
+0800 INFO [AzkabanWebServer] [Azkaban] Starting Azkaban Server
+0800 INFO [AzkabanServer] [Azkaban] Loading azkaban settings file from ./internal/../../conf
+0800 INFO [AzkabanServer] [Azkaban] Loading azkaban properties file
+0800 INFO [AzkabanDatabaseUpdater] [Azkaban] Use scripting directory sql
+0800 INFO [AzkabanDatabaseUpdater] [Azkaban] Will auto update any changes.
+0800 INFO [DataSourceUtils] [Azkaban] h2 DB path: /home/hadoop/apps/azkaban-solo-server-0.1.0-SNAPSHOT/bin/./h2

注意: 安装完成之后,一定要在bin文件的上一层目录进行启动
./bin/start-web.sh
而不能cd到bin目录里面进行启动,因为该启动脚本中引用到了当前位置目录信息

三、使用Azkaban

WebUI界面登录 http://hadoop000:8081

登录

创建项目: 点击右上角的create project按钮创建

创建后可进行权限分配

Job上传

只支持zip压缩

创建job

flow20.project

azkaban-flow-version: 2.0

basic.flow

nodes:
- name: jobA
type: command
config:
command: echo "This is an echoed text."

将 flow20.project和basic.flow放一起,压缩成Archive.zip ,然后上传

basic1.flow

nodes:
- name: jobC
type: noop
# jobC depends on jobA and jobB
dependsOn:
- jobA
- jobB - name: jobA
type: command
config:
command: echo "This is an echoed text." - name: jobB
type: command
config:
command: pwd

将 flow20.project和basic2.flow放一起,压缩成Archive2.zip ,然后上传

需要关注的点:

四、编写mr-etl调度

flow20.project

azkaban-flow-version: 2.0

mr-etl.flow

nodes:
- name: jobA
type: command
config:
command: "/home/hadoop/apps/hadoop-2.6.0-cdh5.7.0/bin/hadoop jar /home/hadoop/apps/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount hdfs://hadoop000:8020/input/wc/hello.txt hdfs://hadoop000:8020/azkaban/mr/output/wcs"

注意分隔符

查看执行结果:


Azkaban(3.x)编译安装使用的更多相关文章

  1. azkaban编译安装配置文档

    azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...

  2. 第2节 azkaban调度:16、azkaban的介绍以及azkaban的soloserver的安装使用

    2. 工作流调度器azkaban 2.1 概述 azkaban官网: https://azkaban.github.io/ 2.1.1为什么需要工作流调度系统 l  一个完整的数据分析系统通常都是由大 ...

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

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

  4. Azkaban 3.x 编译及部署

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

  5. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  6. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  7. Linux下编译安装Vim8.0

    什么是Vim? Vim 是经典的 UNIX 编辑器 Vi 的深度改良版本.它增加了许多功能,包括:多级撤销.格式高亮.命令行历史.在线帮助.拼写检查.文件名补完.块操作.脚本支持,等等.除了字符界面版 ...

  8. OpenSUSE下编译安装OpenFoam

    在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...

  9. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

随机推荐

  1. 针对base64编码和URIEncode的一点研究

    Base64编码的作用 将任意的二进制比特串编码成由ASCii码中的64个可显示字符组成的字符串. 为什么需要base64编码? 所有的文件,本质上都是0.1组成的比特串,文本文件.二进制文件的区别只 ...

  2. Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR

    Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-09-27. 启用 mt7621的硬件nat (Newifi ...

  3. C语言笔记 06_作用域&数组

    作用域 任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问.C 语言中有三个地方可以声明变量: 在函数或块内部的局部变量 在所有函数外部的全局变量 在形式参数的函数参数定 ...

  4. Spring Boot Request method DELETE not supported

    1: 开启HiddenHttpMethodFilter 最新版本的spring boot 默认不开启 restful 分割api @Bean @ConditionalOnMissingBean({Hi ...

  5. 使用Mybatis实现动态SQL(二)

    使用Mybatis实现动态SQL 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 写在前面:        *本章节适合有Mybatis基础者观看* 使用Mybatis实现动态SQL ...

  6. 推荐一款好看的Hexo主题Ayer

    介绍 Ayer 是一个干净且优雅的Hexo主题,自带响应式,加载速度很快,该有的功能都有,可配置项也很多,非常适合作为你的博客主题,主题内还附送了6张精美的高清壁纸.欢迎使用和Star支持,如果你在使 ...

  7. synchronized到底锁住的是谁?

    本文代码仓库:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/sync 先来一道校招级并发编程笔试题 题 ...

  8. Vue-cli脚手架 安装 并创建项目--命令

    检查是否有 node - v 安装Vue-cli npm install -g vue-cli 安装好后,执行 vue list可以看到很多实用的模板,我这里实用的webpack 初始化模板 vue ...

  9. Spring整合JMS消息中间件

    1. 点对点模式 1.1消息生产者 (1)创建工程springjms_producer,在POM文件中引入SpringJms .activeMQ以及单元测试相关依赖 (2)在src/main/reso ...

  10. SolrCloud 高可用集群搭建

    1.1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候 ...