1.什么是Azkaban

Azkaban 是由 Linkedin 公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的 key:value 对的方式,通过配置中的dependencies 来设置依赖关系。Azkaban 使用job 配置文件建立任务之间的依赖关系,并提供一个易于使用的 web 用户界面维护和跟踪你的工作流。

2.为什么使用Azkaban

  • 兼容任何版本的 hadoop
  • 易于使用的 Web 用户界面
  • 简单的工作流的上传
  • 方便设置任务之间的关系
  • 调度工作流
  • 模块化和可插拔的插件机制
  • 认证/授权(权限的工作)
  • 能够杀死并重新启动工作流
  • 有关失败和成功的电子邮件提醒

3.ooize 和azkaban 特性对比

特性 Oozie Azkaban
工作流描述语言 XML text file with key/value pairs 
是否要web 容器 Yes Yes
进度跟踪 web page  web page 
Hadoop job 调度支持 yes yes
运行模式 daemon daemon
事件通知 no Yes
需要安装 Yes Yes
支持的hadoop 版本 0.20+  currently unknown 
重试支持 workflownode evel  yes
运行任意命令 yes yes

4. Azkaban安装

1) 拷贝相关文件到linux文件夹下,如下

2)在/usr/local 下面创建Azkaban文件夹

[root@slave-4 local]# mkdir azkaban

3)解压 azkaban-web-server-2.5.0.tar.gz、 azkaban-executor-server-2.5.0.tar.gz、 azkaban-sql-script-2.5.0.tar.gz              到/usr/local/azkaban目录 下

[root@slave-4 tmp]#  tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /usr/local/azkaban/
[root@slave-4 tmp]#  tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C /usr/local/azkaban/
[root@slave-4 tmp]#  tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /usr/local/azkaban/

4)对解压后的文件重新命名

[root@slave-4 azkaban]# mv azkaban-web-2.5.0/ server
[root@slave-4 azkaban]# mv azkaban-executor-2.5.0/ executor

5)azkaban 脚本导入

[root@slave-4 azkaban]$ mysql -uroot -p000000
mysql> create database azkaban;
mysql> use azkaban;
mysql> source /usr/local/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql

6)生成密钥库

a. 生成 keystore 的密码及相应信息的密钥库( 密钥库的密码至少必须 6 个字符,可以是纯数字或者字母或者数字和字母的组合等等 密钥库的密码最好和<jetty> 的密钥相同,方便记忆 )

[root@slave-4  azkaban]# keytool -keystore keystore -alias jetty -genkey -keyalg RSA

b.将keystore 拷贝到 azkaban web 服务器根目录中

[root@slave-4  azkaban]# mv keystore /usr/local/azkaban/server/

7) 配置文件(web)

a.  进入 azkaban web服务器安装conf目录,打开目录,打开 azkaban.properties文件

[root@slave-4  conf]# vim azkaban.properties

b. 按照如下配置修改 azkaban.properties文件

#Azkaban Personalization Settings
#服务器 UI名称,用于服务器上方显示的名字
azkaban.name=Test
#描述
azkaban.label=My Local Azkaban
#UI颜色
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
#默认 web server存放 web文件的目录
web.resource.dir=/usr/local/azkaban/server/web/
#默认时区,已改为亚洲/上海 默认为美国
default.timezone.id=Asia/Shanghai #Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
#用户权限管理默认类(绝对路径)
user.manager.xml.file=/usr/local/azkaban/server/conf/azkaban-users.xml #Loader for projects
#global配置文件所在位置(绝对路径)
executor.global.properties=/usr/local/azkaban/executor/conf/global.properties
azkaban.project.dir=projects #数据库类型
database.type=mysql
#端口号
mysql.port=3306
#数据库连接 IP
mysql.host=cm
#数据库实例名
mysql.database=azkaban
#数据库用户名
mysql.user=root
#数据库密码
mysql.password=000000
#最大连接数
mysql.numconnections=100 # Velocity dev mode
velocity.dev.mode=false # Azkaban Jetty server properties.
# Jetty 服务器属性
#最大线程数
jetty.maxThreads=25
#Jetty SSL端口
jetty.ssl.port=8443
#Jetty端口
jetty.port=8081
#SSL文件名(绝对路径)
jetty.keystore=/usr/local/azkaban/server/keystore
#SSL文件密码
jetty.password=000000
#Jetty主密码与 keystore文件相同
jetty.keypassword=000000
#SSL文件名(绝对路径)
jetty.truststore=/usr/local/azkaban/server/keystore
#SSL文件密码
jetty.trustpassword=000000 # Azkaban Executor settings
executor.port=12321
# mail settings
mail.sender=
mail.host=
job.failure.email=
job.success.email= lockdown.create.projects=false cache.directory=cache 

c.web 服务器用户配置

在azkaban web 服务器安装目录 conf 目录,按照如下配置修改azkaban-users.xml 文件,增加管理员用户。

[root@slave-4  conf] vim azkaban-users.xml
<azkaban-users>
<user username="azkaban" password="azkaban"  roles="admin" groups="azkaban" /> <user username="metrics" password="metrics" roles="metrics"/> <user username="admin" password="admin" roles="admin,metrics" /> <role name="admin" permissions="ADMIN" /> <role name="metrics" permissions="METRICS"/>
</azkaban-users>

8)执行服务器配置 (exec)

a.进入执行服务器安装目录 conf,打开azkaban.properties

[root@slave-4  conf]# vim azkaban.properties

b.按照如下配置修改 azkaban.properties 文件

#Azkaban
#时区
default.timezone.id=Asia/Shanghai # Azkaban JobTypes Plugins
#jobtype 插件所在位置
azkaban.jobtype.plugin.dir=plugins/jobtypes #Loader for projects
executor.global.properties=/usr/local/azkaban/executor/conf/global.properties
azkaban.project.dir=projects #数据库类型
database.type=mysql
#端口号
mysql.port=3306
#数据库连接 IP
mysql.host=cm
#数据库实例名
mysql.database=azkaban
#数据库用户名
mysql.user=root
#数据库密码
mysql.password=000000
#最大连接数
mysql.numconnections=100 # Azkaban Executor settings
#最大线程数
executor.maxThreads=50
#端口号(如修改,请与 web服务中一致)
executor.port=12321
#线程数
executor.flow.threads=30 

9)启动

a.在executor 服务器目录下执行启动命令 

[root@slave-4 executor]$ pwd
/usr/local/azkaban/executor
[root@slave-4 executor]$ bin/azkaban-executor-start.sh

b.在azkaban web 服务器目录下执行启动命令

[root@slave-4 server]$ pwd
/usr/local/azkaban/server
[root@slave-4 server]$ bin/azkaban-web-start.sh

注意:先执行executor,再执行web,避免Web Server 会因为找不到执行器启动失败。

启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://服务器IP 地址:8443,即可访问azkaban 服务了。 
在登录中输入刚才在 azkaban-users.xml 文件中新添加的户用名及密码,点击 login。

登陆界面

执行demo成功!

Azkaban介绍和安装,及简单使用相关推荐

  1. Linner介绍、安装及简单Demo

    Linner前端项目阐述 本篇文章目录 Linner前端项目阐述 项目结构 项目阐述 组件 图片.CSS.JS文件合并 仓库管理 实时监控文件变化并编译 config.yml文件配置详解 linner ...

  2. ElasticSearch 介绍、安装及简单使用

    文章目录 介绍 基本概念 全文搜索(Full-text Search) 倒排索引(Inverted Index) 节点&集群(Node & Cluster) 文档(Document) ...

  3. pyside2 系列之介绍,安装,简单例子

    很多人都知道qt在python下有pyqt5,那为什么还要个pyside2呢? 大家可以参考下知乎的一篇文章,大致是说: Pyside的诞生主要是Nokia与Riverbank Computing谈崩 ...

  4. android图文介绍NDK安装及简单jni demon的实现

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 android NDK可以用来编译android的native方法,也可以将c和c++的代码编译成.s ...

  5. Azkaban的介绍、安装与使用

    转载:https://blog.csdn.net/Sven119/article/details/90144843 目录 1.概述 1.1.为什么需要工作流调度器 1.2.工作流调度实现方式 1.3. ...

  6. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  7. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  8. 一、mongodb数据库系列——介绍和安装 简单使用 增删改查

    一.Mongodb的介绍和安装 学习目标 了解 非关系型数据库的优势 了解 mongodb的安装 1. mongodb的介绍 1.1 什么是mongodb mongodb 是一个功能最丰富的NoSQL ...

  9. MongoDB(1)--简单介绍以及安装

        前段时间接触了NoSql类型的数据库redis,当时是作为缓存server使用的.那么从这篇博客開始学习还有一个非常出名的NoSql数据库:MongoDb.只是眼下还没有在开发其中使用.一步一 ...

最新文章

  1. 全球及中国家用除湿机行业消费需求调研及十四五发展趋势研究报告2022-2027年
  2. C#复制文件到指定文件夹
  3. mongoose 定义经纬度数据类型
  4. CSS盒子的三种类型(border-box、content-box)
  5. 移动安全工具:fastboot
  6. 第58章、拍照功能实现(从零开始学Android)
  7. Mac上word无响应且内容未保存后强制退出后恢复内容方法
  8. 基于Python实现的基金交易系统
  9. Mysql错误:#1054 - Unknown column '字段名' in 'field list'
  10. CF120F Spiders 题解
  11. SPT20 协议_【推荐】协议离婚协议书范文7篇
  12. 【礼物】的定义不同所造成的诡异反差感
  13. linux中mtd是什么目录,关于linux mtd的理解
  14. 苹果手机备份有必要吗_旧手机里的便签能备份到新手机里吗?
  15. 解决Could not find method android() for arguments问题
  16. 数字钱包助记词生成公私钥流程分析
  17. 图论初步(存储+最短路)
  18. Python基础教程:一次性搞定 Django Form
  19. 离散数学图论全部知识点罗列
  20. 软考架构师-知识点总结

热门文章

  1. 使用mpl_finance画股票K线图
  2. 赛狐ERP率先引入ChatGPT 一键生成优质Listing
  3. iOS 深入理解SwiftUI
  4. 安卓系统加速_苹果1G运行内存和安卓1G运行内存相等吗?
  5. 苹果home键在哪里设置_苹果手机隐藏的几个重要设置 你都知道吗?
  6. 用python爬取爱课程首页所有的图片并下载到本地
  7. 软件测试术语英文名称
  8. freebuds可以升级鸿蒙系统,华为FreeBuds 4正式开售,升级降噪系统开创新体验
  9. 打游戏最好的蓝牙耳机:英雄联盟LOL手游推荐蓝牙耳机
  10. 神雕侠侣服务器维修,《神雕侠侣》11月05日全服维护更新公告