Azkaban 3.0 安装 - 单机模式

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

它有如下功能特点:

  • Web用户界面
  • 方便上传工作流
  • 方便设置任务之间的关系
  • 调度工作流
  • 认证/授权(权限的工作)
  • 能够杀死并重新启动工作流
  • 模块化和可插拔的插件机制
  • 项目工作区
  • 工作流和任务的日志记录和审计

Solo Server 模式是一个 all in one 的部署方式,适合测试环境,有如下优势:

  • 安装简单:不需要 MySQL,使用 H2 作为持久化存储;
  • 启动简单:Web 服务器和 Executor 服务器在同一个进程;
  • 功能齐备:具备所有的功能;

部署流程

Step1. 从 git 上 Clone 仓库

git clone https://github.com/azkaban/azkaban.git

Step2. 部署

cd azkaban; ./gradlew build installDist

下载速度略慢,可以尝试使用代理。

Step3. 添加 HADOOP_HOME

# 如果是 Cloudera 环境,以 5.8.x 为例
export HADOOP_HOME=/opt/cloudera/parcels/CDH-5.8.2-1.cdh5.8.2.p0.3/lib/hadoop

Step4. 启动服务

cd azkaban-solo-server/build/install/azkaban-solo-server; bin/start-solo.sh

Step5. 停止服务

bin/shutdown-solo.sh

一个完整的部署应该具备以下目录:

Folder Description
bin The scripts to start/stop Azkaban jetty server
conf The configuration files for Azkaban solo server
lib The jar dependencies for Azkaban
extlib Additional jars that are added to extlib will be added to Azkaban's classpath
plugins the directory where plugins can be installed
web The web (css, javascript, image) files for Azkaban web server.

conf 目录中,必须存在 3 个文件:

azkaban.private.properties - Runtime 情况下的参数;
azkaban.properties - Runtime 情况下的参数;
global.properties - 全局静态属性,共享给所有 workflow 和 job;
azkaban-users.xml - 授权配置,管理用户和角色之间的映射;如果XmLUserManager 没有配置使用该文件,则默认不启用该文件内的配置;

azkaban.properties 是主配置文件。

Step5. 启用 UserManager

Azkaban 使用 UserManager 组件提供基于用户和角色的权限管理。默认情况下,Azkaban 使用 XmlUserManager ,该 plugin 从 azkaban.properties_azkaban-users.xml_ 获取 username/passwords。

  • user.manager.class=azkaban.user.XmlUserManager
  • user.manager.xml.file=conf/azkaban-users.xml

默认的测试用用户名和密码皆为 azkaban

Step7. 启动 Web Server

azkaban.properties 的以下配置项用于配置 jetty。

jetty.maxThreads=25
jetty.ssl.port=8081

执行 bin/start-solo.sh 启动 Web Server,执行 bin/shutdown-solo.sh 进行停止。

Step8. 通过浏览器确认安装情况

http://localhost:8081/index

你可能感兴趣的:(Azkaban 3.0 安装 - 单机模式)