Azkaban官网文档1-概述-Overvie

Azkaban是LinkedIn为解决Hadoop作业依赖问题而开发的工具,包括MySQL数据库、AzkabanWebServer和AzkabanExecutorServer三部分。AzkabanWebServer负责项目管理、调度和监控,AzkabanExecutorServer执行工作流和作业。文章介绍了不同部署模式,包括适合初学者的Solo Server,以及适用于生产环境的双服务器和多执行器模式。

Azkaban是在LinkedIn上实现的,用来解决Hadoop作业依赖的问题。我们的工作需要按顺序运行,从ETL工作到数据分析产品。

Azkaban最初是一个单一的服务器解决方案,随着多年来Hadoop用户数量的增加,它已经发展成为一个更健壮的解决方案。

Azkaban由三个关键部分组成:

  1. 关系型数据库(MySQL)
  2. AzkabanWebServer
  3. AzkabanExecutorServer

Relational Database (MySQL)

Azkaban使用MySQL来存储它的大部分状态。AzkabanWebServer和AzkabanExecutorServer都访问数据库。

AzkabanWebServer 是如何访问数据库的?

web服务器使用数据库的原因如下:

  1. 项目管理——项目、项目权限、上传文件。
  2. 执行工作流状态——跟踪执行工作流以及哪个执行器正在运行它们。
  3. 以前的工作流/作业——搜索以前执行的作业和工作流,并访问它们的日志文件。
  4. 调度程序——保持调度作业的状态。
  5. SLA——保持所有SLA规则

AzkabanExecutorServer 用数据库来干啥?

  1. 访问项目——从数据库中检索项目文件。
  2. 执行工作流/作业——检索和更新正在执行的工作流的数据
  3. 日志——将作业和工作流的输出日志存储到数据库中。
  4. 互流依赖——如果一个工作流在不同的执行程序上运行,它将从数据库获取状态。

选择MySQL的原因是它是一个广泛使用的数据库。我们希望实现与其他数据库的兼容性,尽管在历史上运行作业的搜索需求受益于关系数据存储。

 

AzkabanWebServer

AzkabanWebServer是阿兹卡班的主要管理器。它处理项目管理、身份验证、调度器和执行监视。它还充当web用户界面。

使用Azkaban很容易,Azkaban使用*.job键值属性文件定义工作流中的各个任务,_dependencies_属性定义作业的依赖链。这些作业文件和相关代码可以归档到一个*.zip文件中,并通过Azkaban UI或curl通过web服务器上传。

AzkabanExecutorServer

以前的Azkaban版本同时具有Azkab

### 如何下载 Azkaban SQL 脚本 2.5.0 的压缩包 Azkaban 是一个批量工作流调度工具,其安装和配置需要几个关键组件,包括 `azkaban-sql-script-2.5.0.tar.gz` 文件。以下是获取该文件的详细方法: #### 1. 官方下载地址 Azkaban 的官方 GitHub 仓库提供了所有版本的二进制文件和脚本。可以通过以下链接访问并下载所需的 SQL 脚本压缩包: ```plaintext https://github.com/azkaban/azkaban/releases/tag/2.5.0 ``` 在该页面中,找到 `azkaban-sql-script-2.5.0.tar.gz` 文件并点击下载[^1]。 #### 2. 使用 wget 命令下载 如果是在 Linux 环境下操作,可以直接使用 `wget` 命令从远程服务器下载文件。例如: ```bash wget https://github.com/azkaban/azkaban/releases/download/2.5.0/azkaban-sql-script-2.5.0.tar.gz ``` 此命令会将文件下载到当前目录下[^3]。 #### 3. 解压文件 下载完成后,可以使用以下命令解压文件到指定目录: ```bash tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban/ ``` 上述命令会将 SQL 脚本解压到 `/opt/module/azkaban/` 目录下[^2]。 #### 4. 数据库初始化 解压后,进入 MySQL 数据库并执行 SQL 脚本以完成 Azkaban 数据库的初始化。具体步骤如下: 1. 创建数据库: ```sql create database azkaban; ``` 2. 切换到新创建的数据库: ```sql use azkaban; ``` 3. 执行 SQL 脚本: ```sql source /opt/module/azkaban/azkaban-sql-script-2.5.0/create-all-sql-2.5.0.sql; ``` 这一步确保 Azkaban 的 Web 和 Executor 服务器能够正确连接到数据库[^3]。 #### 注意事项 - 在安装 Azkaban 之前,请确保已安装 MySQL 数据库[^4]。 - 如果需要更高版本的 Azkaban(如 3.x),可能需要进行编译安装[^4]。 - 下载时请确认网络环境支持访问 GitHub 或其他存储库,否则可能需要更换镜像源[^5]。 ### 示例代码 以下是一个完整的脚本示例,用于自动化下载、解压和初始化数据库: ```bash # 下载 Azkaban SQL 脚本 wget https://github.com/azkaban/azkaban/releases/download/2.5.0/azkaban-sql-script-2.5.0.tar.gz # 解压到指定目录 tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban/ # 初始化 MySQL 数据库 mysql -u root -p <<EOF create database azkaban; use azkaban; source /opt/module/azkaban/azkaban-sql-script-2.5.0/create-all-sql-2.5.0.sql; EOF ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值