Azkaban介绍

  Azkaban是一个Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。

Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

它有如下功能特点:

  Web用户界面

  方便上传工作流

  方便设置任务之间的关系

  调度工作流

  认证/授权(权限的工作)

  能够杀死并重新启动工作流

  模块化和可插拔的插件机制

  项目工作区

  工作流和任务的日志记录和审计

Azkaban安装部署

  准备工作:需要Azkaban Web服务器、Azkaban执行服务器、Azkaban只支持 mysql,需安装mysql服务器

  Azkaban Web服务器下载路径:https://pan.baidu.com/s/1GScGIxktelBerHGzTdLnvQ

  Azkaban执行服务器下载路径:https://pan.baidu.com/s/1aEh6J9AtFQXy4Cro-Z9ZoQ

  Azkaban脚本导入下载路径:https://pan.baidu.com/s/1yTYVekDFtvrqrZ8xd5LycA

  1.将安装包上传服务器,最好上传到安装 hive、sqoop的机器上,然后进行解压到目录:/usr/local/src/azkaban/

    tar -xzvf azkaban-sql-script-2.5.0.tar.gz  -C /usr/local/src/azkaban/

    然后可以进行重命名:mv azkaban-executor-2.5.0 executor 、 mv azkaban-web-2.5.0 webserver

  2.Azkaban脚本导入:将解压后的mysql 脚本,导入到mysql

    首先进入mysql:mysql -uroot -proot

    

    

  3.(创建SSL配置):因为web访问通过HTTPS协议,因此需要证书,配置如下:

    #keytool -keystore keystore -alias jetty -genkey -keyalg RSA

    在当前目录生成相应证书秘钥文件keystore,将keystore拷贝到 Azkaban web服务器bin目录中:

    如:cp keystore azkaban/server

  4.配置好服务器节点上的时区:    

    1、先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 即可

    2、拷贝该时区文件,覆盖系统本地时区配置:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

  5.Azkaban Web服务器配置进入Azkaban web服务器安装目录下的conf目录

    1.修改配置文件:vi /usr/local/src/azkaban/webserver/conf/azkaban.properties

#Azkaban Personalization Settings
azkaban.name=Test                           #服务器UI名称,用于服务器上方显示的名字
azkaban.label=My Local Azkaban                               #描述
azkaban.color=#FF3601                                        #UI颜色
azkaban.default.servlet.path=/index                       
web.resource.dir=web/                                        #默认根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    # global配置文件所在位置
azkaban.project.dir=projects                                                #
 
database.type=mysql                                                              #数据库类型
mysql.port=3306                                                                       #端口号
mysql.host=localhost                                                   #数据库连接IP
mysql.database=azkaban                                                       #数据库实例名
mysql.user=root                                                                 #数据库用户名
mysql.password=root                                                          #数据库密码
mysql.numconnections=100                                                  #最大连接数
 
# Velocity dev mode
velocity.dev.mode=false
# Jetty服务器属性.
jetty.maxThreads=25                                                               #最大线程数
jetty.ssl.port=8443                                                                   #Jetty SSL端口
jetty.port=8081                                                                         #Jetty端口
jetty.keystore=keystore                                                          #SSL文件名
jetty.password=123456                                                             #SSL文件密码
jetty.keypassword=123456                                                      #Jetty主密码 与 keystore文件相同
jetty.truststore=keystore                                                                #SSL文件名
jetty.trustpassword=123456                                                   # SSL文件密码
 
# 执行服务器属性
executor.port=12321                                                               #执行服务器端口
 
# 邮件设置
mail.sender=xxxxxxxx@163.com                                       #发送邮箱
mail.host=smtp.163.com                                                       #发送邮箱smtp地址
mail.user=xxxxxxxx                                       #发送邮件时显示的名称
mail.password=**********                                                 #邮箱密码
job.failure.email=xxxxxxxx@163.com                              #任务失败时发送邮件的地址
job.success.email=xxxxxxxx@163.com                            #任务成功时发送邮件的地址
lockdown.create.projects=false                                           #
cache.directory=cache                                                            #缓存目录

    2.修改配置文件:增加管理员用户vi /usr/local/src/azkaban/webserver/conf/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>

  6.Azkaban执行服务器executor配置进入Azkaban executor安装目录下的conf目录  

    1.修改配置文件:vi /usr/local/src/azkaban/executor/conf/azkaban.properties  

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

启动

  Azkaban web服务器启动:bin/azkaban-web-start.sh

  或者启动到后台:nohup  bin/azkaban-web-start.sh  1>/tmp/azstd.out  2>/tmp/azerr.out &

  Azkaban executor启动:bin/azkaban-executor-start.sh

   启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://shizhan2:8443 ,即可访问azkaban服务了.在登

录中输入刚才新的户用名及密码,点击 login.

  

启动常见问题

1.azkaban-users.xml找不到

  Caused by: java.lang.IllegalArgumentException: User xml file conf/azkaban-users.xml doesn't exist.

    解决:配置文件azkaban.properties里user.manager.xml.file改为绝对路径

2.Keystore找不到

   java.io.FileNotFoundException: /opt/azkaban-web-2.5.0/bin/keystore (No such file or directory)

    解决:复制keystore文件到bin目录下

3.网页登陆显示不正常

  

      解决:修改web.resource.dir为绝对路径web.resource.dir=/opt/azkaban-web-2.5.0/web/

07_Azkaban工作流调度器简介及其安装的更多相关文章

  1. 工作流调度器azkaban2.5.0的安装和使用

    为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hive脚本等 各任务单元之间存在时间先后及前后依赖关系 为了很 ...

  2. azkaban工作流调度器及相关工具对比

    本文转载自:工作流调度器azkaban,主要用于架构选型,安装请参考:Azkaban安装与简介,azkaban的简单使用 为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: ...

  3. 工作流调度器azkaban(以及各种工作流调度器比对)

    1:工作流调度系统的作用: (1):一个完整的数据分析系统通常都是由大量任务单元组成:比如,shell脚本程序,java程序,mapreduce程序.hive脚本等:(2):各任务单元之间存在时间先后 ...

  4. Azkaban工作流调度器

    Azkaban工作流调度器 在Hadoop领域常用的工作流调度系统 Oozie,Azkaban,Cascading,Hamake等等. 性能对比: 安装: 创建ssl配置 keytool -keyst ...

  5. 工作流调度器azkaban

    为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hive脚本等 各任务单元之间存在时间先后及前后依赖关系 为了很 ...

  6. Azkaban 工作流调度器

    Azkaban 工作流调度器 1 概述 1.1 为什么需要工作流调度系统 a)一个完整的数据分析系统通常都是由大量任务单元组成,shell脚本程序,java程序,mapreduce程序.hive脚本等 ...

  7. 【Hadoop离线基础总结】工作流调度器azkaban

    目录 Azkaban概述 工作流调度系统的作用 工作流调度系统的实现 常见工作流调度工具对比 Azkaban简单介绍 安装部署 Azkaban的编译 azkaban单服务模式安装与使用 azkaban ...

  8. 调度器简介,以及Linux的调度策略

    进程是操作系统虚拟出来的概念,用来组织计算机中的任务.但随着进程被赋予越来越多的任务,进程好像有了真实的生命,它从诞生就随着CPU时间执行,直到最终消失.不过,进程的生命都得到了操作系统内核的关照.就 ...

  9. 调度器简介,以及Linux的调度策略(转)

    进程是操作系统虚拟出来的概念,用来组织计算机中的任务.但随着进程被赋予越来越多的任务,进程好像有了真实的生命,它从诞生就随着CPU时间执行,直到最终消失.不过,进程的生命都得到了操作系统内核的关照.就 ...

随机推荐

  1. Ehcache开启JMX支持

    Ehcache提供了基于JMX的监控支持,支持对以下几类信息的监控. CacheManager Cache CacheConfiguration CacheStatistics 按照JMX的规范,为了 ...

  2. AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动+静分离站点

    目录 一.架构图 二.实现步骤 2.1.EC2 配置 2.2.ELB 设置 2.2.1.创建目标组 2.2.2.创建负载均衡器 2.3.S3 设置 2.4.CloudFront 分配 2.4.1.创建 ...

  3. 使用Vulcan工具构建真实的业务负载进行网络压力测试,满足SD-WAN,White-box Switch的Performance,QoE,SLA测试要求

    工具链接#  https://xenanetworks.com/vulcan/ 使用Vulcan工具,可构建真实的业务负载进行网络压力测试 满足Performance,QoE,SLA等测试要求 硬件指 ...

  4. (二)MVC项目+c3p0连接池

    一.项目架构 注:删除了原有的数据库工具,添加了c3p0数据库工具类,添加了c3p0的配置文件,修改了Dao类以及servlet类 二.修改或添加的类 1.C3p0Helper(暂时不了解事务回滚之类 ...

  5. 超级块,i节点,数据块,目录块,间接块

    一.物理磁盘到文件系统 文件系统用来存储文件内容,文件属性,和目录,这些类型的数据如何存储在磁盘块上的呢?Unix/linux使用了一个简单的方法. 他将磁盘分为3个部分: 超级块,文件系统中第一个块 ...

  6. Chocolate Eating【二分】

    题目链接:https://ac.nowcoder.com/acm/contest/1577/K 题目大意: 给出n块巧克力,m天吃完.每块巧克力有a[i]快乐值,每天可以选择吃任意块或者不吃巧克力(按 ...

  7. 1、4 前后端分离,写静态HTML文件,通过ajax 返回数据

    1.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  8. 阿里云RocketMQ的消费者简单实现

    业务场景之类的请看另一篇生产者的实现: package com.ttt.eee; import com.aliyun.openservices.ons.api.Action; import com.a ...

  9. 部署Harbor私有镜像仓库

    Harbor私有镜像仓库无坑搭建 目录 1. harbor介绍 2. docker-ce的安装 3. docker-compose的安装 4. Harbor私有仓库的安装 5. 客户端连接镜像仓库配置 ...

  10. 《Mysql - 优化器是如何选择索引的?》

    一:概念 - 在 索引建立之后,一条语句可能会命中多个索引,这时,索引的选择,就会交由 优化器 来选择合适的索引. - 优化器选择索引的目的,是找到一个最优的执行方案,并用最小的代价去执行语句. 二: ...