azkaban 学习笔记

 


一,概述

  Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

   它有如下功能特点:

     Web用户界面。

     方便上传工作流。

     方便设置任务之间的关系。

    调度工作流。

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

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

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

    项目工作区。

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

 

 

  Webserver主要负责权限验证、项目管理、作业流下发等工作;

  Executor主要负责作业流/作业的具体执行以及搜集执行日志等工作;

  MySQL用于存储作业/作业流的执行状态信息。

二,环境安装

  1,准备工作:Hadoop2.6,hive2.1.1,mysql服务器,azkaban2.5.0。

  2,解压安装,改名。

  3,azkaban脚本导入

  解压: azkaban-sql-script-2.5.0.tar.gz

  命令:tar –zxvf azkaban-sql-script-2.5.0.tar.gz

  将解压后的mysql 脚本,导入到mysql中:

  进入mysql

  mysql> create database azkaban;

  mysql> use azkaban;

  Database changed

  mysql> source /home/hadoop/azkaban-2.5.0/create-all-sql-2.5.0.sql;

  4,创建SSL配置

   命令(在/的目录下): keytool -keystore keystore -alias jetty -genkey -keyalg RSA。

   运行此命令后,会提示输入当前生成 keystor的密码及相应信息,输入的密码请劳记。

  完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中.如:cp keystore azkaban/webserver

  5,先配置好服务器节点上的时区

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

  拷贝该时区文件,覆盖系统本地时区配置。

  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

   6,azkaban web服务器配置

  进入azkaban web服务器安装目录 conf目录命令vi azkaban.properties

#Azkaban Personalization Settings
azkaban.name=sdd
azkaban.label=SDD Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=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
azkaban.project.dir=projects

database.type=mysql
mysql.port=3306
mysql.host=hadoop01
mysql.database=azkaban
mysql.user=root
mysql.password=123
mysql.numconnections=100

# Velocity dev mode
velocity.dev.mode=false

# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore
jetty.password=222222
jetty.keypassword=222222
jetty.truststore=keystore
jetty.trustpassword=222222

# 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

  

  7,azkaban 执行服务器配置

  进入执行服务器安装目录conf,命令vi azkaban.properties

#Azkaban
default.timezone.id=Asia/Shanghai

# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes

#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

database.type=mysql
mysql.port=3306
mysql.host=hadoop01
mysql.database=azkaban
mysql.user=root
mysql.password=123
mysql.numconnections=100

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

  

  8, 用户配置

  进入azkaban web服务器conf目录,修改vi 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>

 

   9,启动

  a)web服务

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

  bin/azkaban-web-start.sh

  注:在web服务器根目录运行

   b)执行服务器

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

  bin/azkaban-executor-start.sh ./

  注:只能要执行服务器根目录运行

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

 

 


 

posted @ 2018-10-23 10:12  薄点  阅读(195)  评论(0编辑  收藏  举报