Azkaban【部署 01】Linux环境 CentOS Linux release 7.5.1804安装配置azkaban-3.70.0编译阶段(附安装包及gradle-4.6资源)

简介: 【2月更文挑战第4天】Linux环境 CentOS Linux release 7.5.1804安装配置azkaban-3.70.0编译阶段(附安装包及gradle-4.6资源)

1. 资源分享

链接:https://pan.baidu.com/s/1Bz2Z5xgY9dJiTMdCeKB8KQ
提取码:f6s9
包含资源:azkaban-3.70.0.tar.gz 和 gradle-4.6-all.zip

2. 前置条件

1.JDK 1.8+【亲测JDK 11无法使用】

[root@aliyun ~]# java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
# 构建报错
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11'.
# 只好换成安装JDK1.8的另一台服务器
[root@tcloud ~]# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

2.Gradle
用于源码编译【资源分享里有 gradle-4.6-all.zip】

3.Git
Azkaban 的编译过程需要用Git下载部分JAR包,所以需要预先安装:

[root@tcloud ~]# yum install git

4.其他依赖安装

# 否则会报 Could not find Linker 'g++' in system path.
[root@tcloud ~]# yum install gcc-c++*

3. 源码获取

Azkaban在3.0版本之后就不提供对应的安装包,需要自己下载源码进行编译。可以在GitHub :snail:上下载【网络不好,或不追求最新版本4.0.0的,可以使用我分享的百度网盘资源】,也可以使用 wget直接下载对应release版本的 tar.gz 文件:

# 下载
[root@tcloud ~]# wget https://github.com/azkaban/azkaban/archive/3.70.0.tar.gz

4. 编译环境

Azkaban 3.70.0 编译需要依赖 gradle-4.6-all.zip 。Gradle 是一个项目自动化构建开源工具,类似于 Maven。需要注意的是不同版本的 Azkaban 依赖 Gradle 版本不同,可以在解压后查看 ${AZKABAN_HOME}/gradle/wrapper/gradle-wrapper.properties 文件获取。

[root@tcloud azkaban]# tar -zxvf azkaban-3.70.0.tar.gz
[root@tcloud azkaban]# cat ./azkaban-3.70.0/gradle/wrapper/gradle-wrapper.properties
# 省略部分无关信息
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

在编译时程序会自动去 distributionUrl 定义的地址进行下载,但是下载可能会很慢。为避免影响编译过程,建议先手动下载至 /gradle/wrapper/ 目录下,可以通过wget下载 :snail:【当然也可以使用我分享的百度云盘资源 :rocket:】:

[root@tcloud ~]# wget https://services.gradle.org/distributions/gradle-4.6-all.zip
# 复制 gradle-4.6-all.zip 文件,我用的不是wget下载的。
[root@tcloud ~]# cp /home/azkaban/gradle-4.6-all.zip \
/home/azkaban/azkaban-3.70.0/gradle/wrapper/

此时需要修改 gradle-wrapper.properties 中的 distributionUrl 属性,指明使用本地的gradle。

[root@tcloud ~]# vim ./azkaban-3.70.0/gradle/wrapper/gradle-wrapper.properties
    # 修改 distributionUrl
    distributionUrl=gradle-4.6-all.zip

5. 项目编译

在${AZKABAN_HOMW}目录下执行编译命令【要下载构建项目需要的大量jar包,应该有好几百个,所以时间较久 :clock11: 我的用时23分59秒】:

[root@tcloud azkaban-3.70.0]# ./gradlew build installDist -x test

编译过程中需要注意以下问题:

  • jar 包下载速度根据网络情况而定,通常都不会很快,这个阶段也耐心;
  • 如果出现网络问题而导致 jar无法下载,编译可能会被强行终止,这时候重复执行编译命令即可,gradle 会把已经下载的 jar 包缓存到本地,所以不用担心会重复下载。

编译成功后:

BUILD SUCCESSFUL in 23m 59s
83 actionable tasks: 83 executed

查看一下都编译出什么文件了:

[root@tcloud azkaban-3.70.0]# find /home/azkaban/azkaban-3.70.0/ -name '*SNAPSHOT.tar.gz'
# 为了更直观 删掉了路径信息 调整了一下顺序
# solo server model 安装文件
azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
# multiple-executor 安装文件
azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
# 其他文件【有知道怎么用的小伙伴可以分享一下】
azkaban-db-0.1.0-SNAPSHOT.tar.gz
az-crypto-0.1.0-SNAPSHOT.tar.gz
az-jobsummary-0.1.0-SNAPSHOT.tar.gz
az-hdfs-viewer-0.1.0-SNAPSHOT.tar.gz
azkaban-hadoop-security-plugin-0.1.0-SNAPSHOT.tar.gz
az-reportal-0.1.0-SNAPSHOT.tar.gz
az-hadoop-jobtype-plugin-0.1.0-SNAPSHOT.tar.gz

曾经的踩坑记录【这次安装没有遇到 :lollipop:】:

# 报错
# unzipping /root/.gradle/wrapper/dists/gradle-4.6-all/eia1fevtc8usrd8sjmiodfisd/gradle-3.3-all.zip to /root/.gradle/wrapper/dists/gradle-4.6-all/eia1fevtc8usrd8sjmiodfisd 

# 解决方法
cd /root/.gradle/wrapper/dists/gradle-4.6-all/eia1fevtc8usrd8sjmiodfisd/
# 删除此文件夹里面的文件,将下载好的 gradle-4.6-all.zip 复制到这里。继续进行编译。
目录
相关文章
|
11月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
2069 7
ERPNext 搭建教程:Linux 一键部署与维护
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3957 57
|
11月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
1038 13
|
11月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
1390 1
|
11月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
984 0
|
9月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
984 1
二、Linux文本处理与文件操作核心命令
|
9月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
586 137
|
9月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1526 58
|
8月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1378 2