Azkaban
入门
在 3.0 版本之后,我们提供了两种模式:独立的“solo-server”模式和分布式多执行器模式。下面介绍两种模式的区别。
在单服务器模式下,数据库是嵌入式 H2 并且 Web 服务器和执行服务器都运行在同一个进程中。如果只是想尝试一下,这应该很有用。它也可以用于小规模的用例。
多执行器模式适用于最严重的生产环境(most serious production environment.)。它的数据库应该由具有主从设置的 MySQL 实例支持。理想情况下,Web 服务器和执行器服务器应该在不同的主机上运行,以便升级和维护不会影响用户。这种多主机设置为 Azkaban 带来了强大且可扩展的方面。
- 设置数据库
- 配置数据库以使用多个执行器
- 为数据库中配置的每个执行器下载并安装执行器服务器
- 安装 Azkaban 插件
- 安装网络服务器
以下是有关如何设置 Azkaban 的说明。
从源头构建
Azkaban 构建使用 Gradle(使用 Gradle 包装器 gradlew 运行时自动下载)并且需要 Java 8 或更高版本。
以下命令在Linux、OS X等* nix 平台上运行。
# Build Azkaban
./gradlew build
# Clean the build
./gradlew clean
# Build and install distributions
./gradlew installDist
# Run tests
./gradlew test
# Build without running tests
./gradlew build -x test
这些都是标准的 Gradle 命令。请查看 Gradle 文档以获取更多信息。
Gradle 在项目目录中创建 .tar.gz 文件。例如./azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz。使用 tar -xvzf path/to/azkaban- * .tar.gz 解压。
开始使用 Solo 服务器
单人服务器是 Azkaban 的一个独立实例,并且是最容易上手的。单机服务器具有以下优点。
- 易于安装- 不需要 MySQL 实例。它将 H2 打包为其主要的持久性存储。
- 易于启动- Web 服务器和执行服务器都运行在同一个进程中。
- 全功能- 它包含所有 Azkaban 功能。您可以以正常方式使用它并为其安装插件。
安装 Solo 服务器
请按照以下步骤开始:
1. 克隆仓库:
git clone https://github.com/azkaban/azkaban.git
2.构建Azkaban并创建安装包:
cd azkaban; ./gradlew build installDist
3.启动单机服务器:
cd azkaban-solo-server/build/install/azkaban-solo-server; bin/start-solo.sh
Azkaban 独奏服务器应该全部设置好,通过8081
默认监听端口来接受传入的网络请求。因此,打开网络浏览器并查看http://localhost:8081/
. 单机服务器的默认登录用户名和密码都是azkaban
配置在单机服务器resources文件夹中conf/azkaban-users.xml
。
4.停止服务器:
bin/shutdown-solo.sh
单服务器安装应包含以下目录。
文件夹 | 描述 |
---|---|
bin | 启动/停止 Azkaban 单人服务器的脚本 |
conf | Azkaban 独立服务器的配置文件 |
lib | Azkaban 的 jar 依赖项 |
extlib | 添加到 extlib 的其他 jar 将添加到 Azkaban 的类路径 |
插件 | 可以安装插件的目录 |
web | Azkaban Web 服务器的 Web(css、javascript、图像(image))文件 |
在conf
目录中,应该有三个文件:
azkaban.private.properties
- 被 Azkaban 用来存储 Mysql 密码等秘密azkaban.properties
- Azkaban 用于运行时参数global.properties
- 作为共享属性传递给每个工作流和作业的全局静态属性。azkaban-users.xml
- 用于添加用户和角色进行身份验证。如果 XmLUserManager 未设置为使用该文件,则不使用该文件。
该azkaban.properties
文件是主要的配置文件。