Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >大数据Azkaban(三):Azkaban编译及报错问题解决

大数据Azkaban(三):Azkaban编译及报错问题解决

作者头像
Lansonli
发布于 2025-05-24 01:54:42
发布于 2025-05-24 01:54:42
10500
代码可运行
举报
文章被收录于专栏:Lansonli技术博客Lansonli技术博客
运行总次数:0
代码可运行

Azkaban编译及报错问题解决

一、Azkaban资源准备

Azkaban官方并没有提供Linux系统的编译安装包,需要读者根据需求在官网选择指定版本的Azkaban源文件,然后进行编译打包。

Azkaban最新源文件地址为https://github.com/azkaban/azkaban,读者可以使用Git工具拉取或者直接下载ZIP压缩包。

编译Azkaban只需要在进入Azkaban根目录输入以下指令,系统会自动编译Azkaban源文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./gradlew build installDist

从官方下载最新的4.0.0版本会出现以上大量报错。

二、报错问题解决方法

1、大多数报错处理

1)替换 azkaban 目录下的 build.gradle 文件的 2处 repositories 信息。

改为阿里云的镜像路径:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
buildscript {
repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
  }
....
}

allprojects {
  ....
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
  }
}

2)当遇到这个一下报错时可以安装gradle-5.0-all.zip

注意:查看该版本azkaban对应的gradle版本为gradle-5.0-all.zip,老版本azkaban可能需要兼容其他gradle版本。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd azkaban
 
cat ./gradle/wrapper/gradle-wrapper.properties

下载gradle

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://services.gradle.org/distributions/gradle-5.0-all.zip
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 cd /export/software/

创建目录并且复制 gradle-5.0-all.zip到新目录里

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /opt/module/
cd /opt/module/
cp /export/software/gradle-5.0-all.zip ./

解压到指定目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unzip -o gradle-5.0-all.zip -d /opt/module/

配置环境变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo vim /etc/profile.d/my_env.sh
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# GRADLE_USER_HOME
export GRADLE_USER_HOME=/opt/module/gradle-5.0
export PATH=$PATH:$GRADLE_USER_HOME/bin

使配置生效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source /etc/profile

输出环境变量值检查是否生效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo $GRADLE_USER_HOME

回到azkaban目录下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim ./gradle/wrapper/gradle-wrapper.properties
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
distributionUrl=gradle-5.0-all.zip

zipStoreBase=GRADLE_USER_HOME

再次运行报以下错误,可以移动gradle-5.0-all.zip到对应目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /opt/module/
mv gradle-5.0-all.zip /export/server/azkaban/gradle/wrapper/

重新执行编译报错解决

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./gradlew build installDist -x test

3)重新执行编译可解决大多数问题

之前有编译过的可以使用以下命令清除一下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gradle clean

azkaban目录下执行以下命令进行编译

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./gradlew build installDist -x test

这时报错大多数情况下是网络慢问题,大多数可以通过重新执行编译语句解决, -x test 跳过测试建议添加,否则问题更多。例如如下报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* What went wrong:
Could not resolve all files for configuration ':az-reportal:compileClasspath'.
> Could not download pig.jar (org.apache.pig:pig:0.11.0)
   > Could not get resource 'http://maven.aliyun.com/nexus/content/groups/public/org/apache/pig/pig/0.11.0/pig-0.11.0.jar'.
      > Could not GET 'http://maven.aliyun.com/nexus/content/groups/public/org/apache/pig/pig/0.11.0/pig-0.11.0.jar'.
         > Read timed out


* What went wrong:
Could not resolve all files for configuration ':az-hadoop-jobtype-plugin:compileClasspath'.
> Could not download scala-compiler.jar (org.scala-lang:scala-compiler:2.10.0)
   > Could not get resource 'http://maven.aliyun.com/nexus/content/groups/public/org/scala-lang/scala-compiler/2.10.0/scala-compiler-2.10.0.jar'.
      > Read timed out
> Could not download scala-reflect.jar (org.scala-lang:scala-reflect:2.10.4)
   > Could not get resource 'http://maven.aliyun.com/nexus/content/groups/public/org/scala-lang/scala-reflect/2.10.4/scala-reflect-2.10.4.jar'.
      > Read timed out

如遇到这个问题,是原有的仓库地址在国内打不开,编译会报错

这里是因为阿里云的镜像地址也是有问题,部分库文件也没法下载导致一直卡在这里报错,所以又重新换了镜像地址。

找到build.gradle文件中的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
maven{
    url 'http://maven.aliyun.com/nexus/content/groups/public'
}

修改为如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
maven {
      url 'https://linkedin.jfrog.io/artifactory/open-source/'
    }
2、node报错处理

这个时候发现无论怎么重试都会卡在某一个进度,并且退出的非常快,报错信息均如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* What went wrong:
Execution failed for task ':azkaban-web-server:nodeSetup'.
> Could not resolve all files for configuration ':azkaban-web-server:detachedConfiguration1'.
   > Could not resolve org.nodejs:node:8.10.0.
     Required by:
         project :azkaban-web-server
      > Could not resolve org.nodejs:node:8.10.0.
         > Could not get resource 'https://nodejs.org/dist/v8.10.0/ivy.xml'.
            > Could not GET 'https://nodejs.org/dist/v8.10.0/ivy.xml'. Received status code 403 from server: Forbidden

解决方案

1)下载 node tar 包

node的下载地址,版本根据报错来自行下载

2)安装node

上传文件到 /usr/lib/ 目录下并执行解压到文件目录下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/lib/
tar -zxvf node-v8.10.0-linux-x64.tar.gz

成功解压到 /usr/lib/ 目录上

修改环境变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/profile
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export NODE_HOME="/usr/lib/node-v8.10.0-linux-x64"
export PATH=$PATH:$NODE_HOME/bin

并使其生效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source /etc/profile

建立软连接,否则 node -v 无法查到版本,也就无法离线使用解决报错问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ln -s /usr/lib/node-v8.10.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/bin/npm
ln -s /usr/lib/node-v8.10.0-linux-x64/bin/node /usr/bin/node

验证是否安装配置成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node -v
npm -v

修改gradle编译

进入到/export/server/azkaban/azkaban-web-server目录中,打开build.gradle文件,将node选项中的download配置值设为false,如下所示。

azkaban目录下的 azkaban-web-server 目录下执行 npm install 将所有前端组件加载到node_module模块中,会有个 npm WARN 不用管。

这一步不可以少,否则azkaban的 azkaban-web-server/build 目录下没有 distributions 文件夹也就不会有 azkaban-web-server-0.1.0-SNAPSHOT.tar.gz

三、Azkaban重新编译

输入以一下编译命令执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./gradlew build installDist -x test 

出现绿色显眼的 BUILD SUCCESSFUL 就是成功了

编译完成,感觉很有收获,网上的其他教程大部分只能走通一半就报错了

Azkaban源文件编译成功后,会在解压目录下各自azkaban-*/build/distributions目录下生成基于Windows和Linux的安装包文件。

azkaban目录下可以找到4个tar包,有了这4个包安装部署solo-server mode、two-server mode、multiple-server mode哪种模式都可以了。

azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT.tar.gz

azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz

azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz

azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz

到这里就把整个azkaban编译及报错问题解决完成,希望你有些帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
大数据平台 —— 调度系统之Azkaban
其中AzkabanWebServer可以说是整个Azkaban工作流系统的主要管理者,它负责project管理、用户登录认证、定时执行工作流、跟踪工作流执行进度等一系列任务。
端碗吹水
2020/11/16
4.7K0
大数据平台 —— 调度系统之Azkaban
Azkaban源码编译 原
这里使用的是虚拟机,选择的操作系统是CentOS 7,本人的系统安装的是最简版的,内存分配了1G,如果条件允许,建议内存分配的大一点。不然编译的时间会很长。
云飞扬
2019/03/12
9580
Azkaban源码编译
                                                                            原
客快物流大数据项目(三十八):安装Azkaban-3.71.0
​​​​​​目录 ​​​​​​安装Azkaban-3.71.0 一、下载Azkaban源码并编译 二、安装Azkaban 三、测试Azkaban的job 安装Azkaban-3.71.0 一、下载Azkaban源码并编译 操作步骤 说明 1 下载Azkaban-3.71.0 cd /export/softwares/ curl -L -O https://github.com/azkaban/azkaban/archive/3.71.0.tar.gz 2 解压 tar -
Lansonli
2022/02/24
2100
客快物流大数据项目(三十八):安装Azkaban-3.71.0
Azkaban-3.x源码编译以及Solo-Server模式部署
查看azkaban-3.73.1/gradle/wrapper/gradle-wrapper.properties文件:
CoderJed
2019/08/22
1.3K0
Azkaban-3.x源码编译以及Solo-Server模式部署
大数据-Azkaban安装
我们这里选用azkaban3.51.0这个版本自己进行重新编译,编译完成之后得到我们需要的 安装包进行安装
cwl_java
2019/12/30
1.5K0
大数据-Azkaban安装
【Azkaban搭建】---Azkaban 3.25.0搭建细则 超实用
Azkaban是一个工作流调度工具,因为需要各个任务之间有依赖关系,传统的Crontab 任务已经不能满足。
LhWorld哥陪你聊算法
2018/12/05
1.1K0
【Azkaban搭建】---Azkaban 3.25.0搭建细则 超实用
Azkaban 任务调度系统(安装搭建)
无论是在业务开发还是在大数据开发中,脚本都是必不可少的存在,在初期我们会使用crontab来解决问题,那么当发现规模变大监控需求可视化需求的到来Crontab已经显然满足不了需求,抱着一颗解决大数据任务脚本和业务任务脚本难题的心态最终在oozie和Azkaban选择了使用Azkaban来作为公共任务调度系统,那么就随着笔者一同来学习Azkaban的基础搭建场景和基本使用吧.
喵了个咪233
2022/03/24
5750
如何编译安装Azkaban服务
Azkaban是一套简单的任务调度服务,是Hadoop工作流引擎调度器之一,整体包括三部分Web Server、DB Server、Executor Server。是LinkedIn的开源项目,开发语言为Java。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
Fayson
2018/03/30
4.5K3
2.Azkaban 3.x 编译及部署
Azkaban 在 3.0 版本之后就不提供对应的安装包,需要自己下载源码进行编译。
每天进步一点点
2022/12/15
4700
2.Azkaban 3.x 编译及部署
azkaban 编译
步骤: 1.准备环境:Linux 系统,java 1.8.0 以上环境 下载azkaban源码到本地 https://github.com/azkaban/azkaban 解压到指定目录,比如我们解压到 /opt/softwares/azkaban 运行 在解压目录运行 : # Build Azkaban ./gradlew build # Clean the build ./gradlew clean # Build and install distributions ./gradlew insta
solve
2019/10/30
6320
【Kafka】编译 Kafka2.7 源码并搭建源码环境(Ver 2.7.2)
Kafka 是通过 Scala 和 Java共同编写的语言,之所以选择2.7.2的版本是因为这个版本的Kafka是最后一版本保留ZK的版本。
阿东
2023/03/16
3840
【Kafka】编译 Kafka2.7 源码并搭建源码环境(Ver 2.7.2)
springmvc源码下载_web系统源码下载
注意:Spring源码使用的是Gradle,而不是Maven。因此下载Spring源码之前可以先安装Gradle,注意安装的gradle版本与spring源码中gradle-wrapper.properties文件中指定的gradle版本一致。参考:Gradle的下载、安装和配置环境。 Spring源码gitee地址:https://gitee.com/mirrors/Spring-Framework。 Spring源码gitee仓库地址:
全栈程序员站长
2022/09/22
11.4K0
springmvc源码下载_web系统源码下载
Gradle安装使用
简单介绍 Gradle是一个好用的构建工具 使用它的原因是 1、配置相关依赖代码量少,不会像maven一样xml过多 2、打包编译测试发布都有,而且使用起来方便
似水的流年
2019/12/13
2K0
Gradle安装使用
简单介绍 Gradle是一个好用的构建工具 使用它的原因是 1、配置相关依赖代码量少,不会像maven一样xml过多 2、打包编译测试发布都有,而且使用起来方便 3、利用自定义的任务可以完成自己想要的功能 安装 下载地址http://services.gradle.org/distributions/ 下载你所需要对应的版本 下载后解压到你想要的目录 设置环境变量,找到Path,在原始内容基础上加入目录到\bin;,必须以分号结束 如果需要可以设置本地仓库目录GRADLE_USER_HOME
似水的流年
2018/04/16
1.7K0
Gradle安装使用
gradle究竟为何频频出错 as的学习笔记
Internal error. Please report to https://code.google.com/p/android/issues
砯芸
2019/10/19
5.5K0
教你编译调试Elasticsearch 6.3.2源码
想深入理解 Elasticsearch,阅读它的源码是很有必要的,一来可以了解它内部的具体实现,有助于调优,二来可以了解优秀开源项目的代码架构,提高我们的代码架构能力等
小旋锋
2019/01/21
2.2K0
Azkaban分布安装部署
获取编译好的安装文件上传并解压/root/hd/azkaban-3.50.0 找到三个需要的配置文件 azkaban-db/build/distributions azkaban-web-server/build/distributions azkaban-exec-server/build/distributions distributions下就是我们需要的编译后的压缩文件 把压缩文件分别分发到对应的服务器
编程那点事
2023/02/25
4060
Hudi数据湖技术引领大数据新风口(二)编译安装
(1)上传apache-maven-3.6.1-bin.tar.gz到/opt/software目录,并解压更名
Maynor
2023/07/28
5780
Hudi数据湖技术引领大数据新风口(二)编译安装
Spring5源码 - 构建源码环境
IDEA 2020.2.1 + OpenJDK8U-jdk_x64_windows_hotspot_8u265b01 + gradle-6.5.1-bin.zip
小小工匠
2021/08/17
5660
Spring5.2.x源码下载及编译
学习Spring源码的重要前提,则是需要去编译源码到本地环境,这样则是方便我们在本地环境添加注释、断点调试、查看类图等,不过相信很多小伙伴在编译Spring源码的过程中相继遇到了很多困难而导致放弃学习,而本文就是来阐述如何正确编译Spring的源码,最好网速一定要好,否则编译源码会让小伙伴们体验极差。
黎明大大
2020/12/14
3K0
相关推荐
大数据平台 —— 调度系统之Azkaban
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验