ToB企服应用市场:ToB评测及商务社交产业平台
标题:
大数据Azkaban(三):Azkaban编译及报错问题解决
[打印本页]
作者:
勿忘初心做自己
时间:
2024-11-19 14:54
标题:
大数据Azkaban(三):Azkaban编译及报错问题解决
文章目次
Azkaban编译及报错问题解决
一、Azkaban资源准备
二、报错问题解决方法
1、大多数报错处理
2、node报错处理
三、Azkaban重新编译
Azkaban编译及报错问题解决
一、Azkaban资源准备
Azkaban官方并没有提供Linux体系的编译安装包,需要读者根据需求在官网选择指定版本的Azkaban源文件,然后举行编译打包。
Azkaban最新源文件地点为https://github.com/azkaban/azkaban,读者可以使用Git工具拉取或者直接下载ZIP压缩包。
编译Azkaban只需要在进入Azkaban根目次输入以下指令,体系会自动编译Azkaban源文件。
./gradlew build installDist
复制代码
从官方下载最新的4.0.0版本会出现以上大量报错。
二、报错问题解决方法
1、大多数报错处理
1)替换 azkaban 目次下的 build.gradle 文件的 2处 repositories 信息。
改为阿里云的镜像路径:
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版本。
cd azkaban
cat ./gradle/wrapper/gradle-wrapper.properties
复制代码
下载gradle
wget https://services.gradle.org/distributions/gradle-5.0-all.zip
复制代码
cd /export/software/
复制代码
创建目次并且复制 gradle-5.0-all.zip到新目次里
mkdir -p /opt/module/
cd /opt/module/
cp /export/software/gradle-5.0-all.zip ./
复制代码
解压到指定目次
unzip -o gradle-5.0-all.zip -d /opt/module/
复制代码
配置环境变量
sudo vim /etc/profile.d/my_env.sh
复制代码
# GRADLE_USER_HOME
export GRADLE_USER_HOME=/opt/module/gradle-5.0
export PATH=$PATH:$GRADLE_USER_HOME/bin
复制代码
使配置见效
source /etc/profile
复制代码
输出环境变量值检查是否见效
echo $GRADLE_USER_HOME
复制代码
回到azkaban目次下
vim ./gradle/wrapper/gradle-wrapper.properties
复制代码
distributionUrl=gradle-5.0-all.zip
zipStoreBase=GRADLE_USER_HOME
复制代码
再次运行报以下错误,可以移动gradle-5.0-all.zip到对应目次
cd /opt/module/
mv gradle-5.0-all.zip /export/server/azkaban/gradle/wrapper/
复制代码
重新执行编译报错解决
./gradlew build installDist -x test
复制代码
3)重新执行编译可解决大多数问题
之前有编译过的可以使用以下下令清除一下
gradle clean
复制代码
azkaban目次下执行以下下令举行编译
./gradlew build installDist -x test
复制代码
这时报错大多数环境下是网络慢问题,大多数可以通过重新执行编译语句解决, -x test 跳过测试建议添加,否则问题更多。比方如下报错:
* 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文件中的:
maven{
url 'http://maven.aliyun.com/nexus/content/groups/public'
}
复制代码
修改为如下所示:
maven {
url 'https://linkedin.jfrog.io/artifactory/open-source/'
}
复制代码
2、node报错处理
这个时候发现无论怎么重试都会卡在某一个进度,并且退出的非常快,报错信息均如下:
* 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/ 目次下并执行解压到文件目次下。
cd /usr/lib/
tar -zxvf node-v8.10.0-linux-x64.tar.gz
复制代码
乐成解压到 /usr/lib/ 目次上
修改环境变量
vim /etc/profile
复制代码
export NODE_HOME="/usr/lib/node-v8.10.0-linux-x64"
export PATH=$PATH:$NODE_HOME/bin
复制代码
并使其见效
source /etc/profile
复制代码
建立软连接,否则 node -v 无法查到版本,也就无法离线使用解决报错问题
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
复制代码
验证是否安装配置乐成
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重新编译
输入以一下编译下令执行
./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编译及报错问题解决完成,希望你有些资助。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4