Azkaban3.81.0下载、编译 作者:马育民 • 2025-12-01 16:57 • 阅读:10001 # 下载 Azkaban 在 3.0 版本之后就不提供对应的安装包,需要自己下载源码进行编译 本文下载的是 3.81.0版本的 `tar.gz` 文件格式 下载网址: https://github.com/azkaban/azkaban/releases [](https://www.malaoshi.top/upload/0/0/1GW2KNmYhern.png) # 上传 上传到 `/program/` 目录 # 解压缩 ``` tar -zxvf azkaban-3.81.0.tar.gz ``` # 安装 Gradle 编译需要 Gradle (相当于 maven) ### 确认需要 Gradle 版本 不同版本的 azkaban,编译时,需要 Gradle 版本也不同 打开下面文件: ``` /program/azkaban-3.81.0/gradle/wrapper/gradle-wrapper.properties ``` 如下图: [](https://www.malaoshi.top/upload/0/0/1GW2KRlXceN8.png) 在编译时程序会自动去图中所示的地址进行下载,但是下载速度很慢。为避免影响编译过程,建议先手动下载到 `/gradle/wrapper/` 目录下 ### 下载方式1 切换到下面目录: ``` /program/azkaban-3.81.0/gradle/wrapper/ ``` 执行下面命令: ``` wget https://services.gradle.org/distributions/gradle-4.6-all.zip ``` ### 下载方式2: 手动下载 Gradle, https://services.gradle.org/distributions/gradle-4.6-all.zip 上传到 `/program/azkaban-3.81.0/gradle/wrapper/` 目录 ### 配置国内 Maven 镜像 国内网络无法访问 Maven 中央仓库(repo.maven.apache.org),导致编译所需的测试依赖(awaitility、assertj-core、mockito-core 等)下载失败,所以需要配置国内 Maven 镜像 **提示:**仅对当前 Azkaban 项目生效 1. 打开 `/program/azkaban-3.81.0/build.gradle` 文件 2. 找到 `allprojects { repositories { ... } }` 块,添加下面内容(添加阿里云镜像,优先从国内拉取): ``` // 优先使用阿里云 Maven 镜像(国内速度最快,覆盖绝大多数依赖) maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } maven { url 'https://maven.aliyun.com/repository/jcenter' } ``` [](https://www.malaoshi.top/upload/0/0/1GW2KTpurWNT.png) ### 修改配置文件 然后修改配置文件 `gradle-wrapper.properties` 中的 `distributionUrl` 属性,指明使用本地的 gradle,如下: ``` distributionUrl=gradle-4.6-all.zip ``` # 安装 Git Azkaban 的编译过程需要用 Git 下载部分 JAR 包,所以需要预先安装 Git: ``` yum install git -y ``` # 安装 nodejs Azkaban编译时,依赖 nodejs ### 查看依赖 nodejs 的版本 打开下面文件: ``` /program/azkaban-3.81.0/azkaban-web-server/build.gradle ``` 显示内容如下: [](https://www.malaoshi.top/upload/0/0/1GW2KSwW2AMP.png) 需要 `8.10.0` 版本,但这个版本已经没有 ### 查看 nodejs 可用的版本 打开下面网址: https://nodejs.org/dist/latest-v8.x/ 可以看到最接近的版本是: ``` node-v8.17.0-linux-x64.tar.gz ``` 下载这个文件 **注意:**不要下载 `node-v8.17.0-linux-arm64.tar` 文件,无法在linux上运行 ### 上传 上传到 `/program/` 目录 ### 解压缩 ``` tar -zxvf node-v8.17.0-linux-x64.tar.gz ``` ### 改名 ``` mv node-v8.17.0-linux-x64 node-v8.17 ``` ### 创建软连接 使得在任意目录下都可以试用直接使用node命令和npm命令 ``` ln -s /program/node-v8.17.0/bin/node /usr/local/bin/node ln -s /program/node-v8.17.0/bin/npm /usr/local/bin/npm ``` ### 查看nodejs是否可用 执行下面命令: ``` node -v ``` 执行结果如下: ``` v8.17.0 ``` 说明可用 ### 查看npm是否可用 执行下面命令: ``` npm -v ``` 执行结果如下: ``` 6.13.4 ``` ### 禁止下载,使用系统中的node、npm 打开下面文件: ``` /program/azkaban-3.81.0/azkaban-web-server/build.gradle ``` 如下图: [](https://www.malaoshi.top/upload/0/0/1GW2KTxTSxVn.png) 将 ``` download = true ``` 改为: ``` download = false ``` # 编译 ### 切换到根目录 ``` cd azkaban-3.81.0 ``` ### 编译命令1:跳过测试(推荐) 跳过测试(推荐生产部署) ``` ./gradlew build installDist -x test ``` 编译成功后会有 `BUILD SUCCESSFUL` 的提示: [](https://www.malaoshi.top/upload/0/0/1GW2KTt9rmzb.png) **注意:** 因为编译的过程需要下载大量的 Jar 包,下载速度根据网络情况而定,通常都不会很快,如果网络不好,耗费半个小时,一个小时都是很正常的; 编译过程中如果出现网络问题而导致 JAR 无法下载,编译可能会被强行终止,这时候重复执行编译命令即可,gradle 会把已经下载的 JAR 缓存到本地,所以不用担心会重复下载 JAR 包。 ### 编译命令2:需编译测试模块 ``` ./gradlew build installDist ``` # 编译成功后的安装文件 在根目录下,在 `azkaban-*/build/distributions` 目录中,有基于Windows和Linux的安装包文件 ### Web 服务 **可视化 Web 控制台**:负责用户交互、任务流管理、调度触发、权限控制,是用户操作和系统调度的核心入口 ``` /program/azkaban-3.81.0/azkaban-web-server/build/distributions/ ``` ### 执行服务 接收 web-server 下发的任务执行指令,**运行具体任务**(如 Shell 脚本、Spark 任务、Hive SQL 等) ``` /program/azkaban-3.81.0/azkaban-exec-server/build/distributions/ ``` ### azkaban-db 负责存储所有元数据和运行时数据,是 web-server 和 exec-server 协同工作的桥梁。 ``` /program/azkaban-3.81.0/azkaban-db/build/distributions/ ``` 参考: https://ebook.qicoder.com/bigdata-notes/notes/installation/Azkaban_3.x_%E7%BC%96%E8%AF%91%E5%8F%8A%E9%83%A8%E7%BD%B2.html https://blog.csdn.net/qq_40743057/article/details/139139574 原文出处:http://www.malaoshi.top/show_1GW2KS4hPMwq.html