官网地址: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. 查看python版本多少位的

    正常我们在cmd终端输入python之后,如果有安装python,就会在回车之后出来关于你安装的python版本信息,几版本,多少位的,但是还有一种,像我这样只显示了python版本是3.7.5,并没 ...

  2. 提升代码幸福度,五个技巧减少js开发中的if else语句

     壹 ❀ 引 在JavaScript开发中,条件判断语句的使用频率是极高的,而对于条件判断简单易读的if else应该都是大家的首选.可是代码写的久了,我们总是希望自己的代码看着能更为简洁规范(逼格更 ...

  3. C# 使用.net core 驱动树莓派的IO信号

    如何使用.net core来驱动树莓派的IO信号?是我们的实际项目需求中,可能就会有这种小项目,我们要输出一个IO信号,此处我们拿了树莓派4做测试 一共有两排引脚,引脚的顺序定义及功能如下: 我们就参 ...

  4. 爬虫(三):urllib模块

    1. urllib模块 1.1 urllib简介 urllib 是 Python3 中自带的 HTTP 请求库,无需复杂的安装过程即可正常使用,十分适合爬虫入门 urllib 中包含四个模块,分别是: ...

  5. 数据库表数据统计及数据表的数据大小统计SQL

    USE [YourDBName] -- replace your dbname GO SELECT s.Name AS SchemaName, t.Name AS TableName, p.rows ...

  6. screen工具的安装与使用

    yum install screen    安装screen screen -S <作业名称>     创建新的页 screen -ls   查询已经存在的页面 screen -r < ...

  7. phpMyAdmin开启IP地址登录

    根本没有其他文章说的那么麻烦,又是修改配置文件,又是修改首页文件.在根目录下有个libraries文件夹,进去有个config.default.php文件,修改里面的AllowArbitrarySer ...

  8. 剑指Offer-44.翻转单词顺序列(C++/Java)

    题目: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student. ...

  9. Java大数类 BigInteger

    package bigint; /** * This class encapsulates a BigInteger, i.e. a positive or negative integer * wi ...

  10. SpringBoot2.0 整合 Shiro 框架,实现用户权限管理

    本文源码:GitHub·点这里 || GitEE·点这里 一.Shiro简介 1.基础概念 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.作为一款安全 ...