官方网站:https://azkaban.github.io
项目地址:https://github.com/azkaban/azkaban
1. 编译步骤
1.下载并解压
cd ~/software
wget https://github.com/azkaban/azkaban/archive/3.40.0.tar.gz -O ./azkaban-3.40.0.tar.gz
tar -zxvf azkaban-3.40.0.tar -C ~/app
2.下载编译所需依赖:
wget https://services.gradle.org/distributions/gradle-4.1-all.zip
yum install -y gcc gcc-c++ git
3.修改编译依赖文件
cd ~/app/azkaban-3.40.0/gradle/wrapper/
cp ~/software/gradle-4.1-all.zip .
vim gradle-wrapper.properties
的内容为:
distributionUrl=gradle-4.1-all.zip
#distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
~
4.开始编译:
cd ~/app/azkaban-3.40.0/
./gradlew build installDist
注:中间如有报错,很有可能是前面的编译进程异常终止,reboot系统就好了。下载依赖大概需要20分钟,下载之后下次重新编译不会重复下载。
2. 编译后的结果
编译后的安装包在:
/root/app/azkaban-3.40.0/azkaban-solo-server/build/distributions
/root/app/azkaban-3.40.0/azkaban-web-server/build/distributions
/root/app/azkaban-3.40.0/azkaban-exec-server/build/distributions
3. 环境部署
启动:
./bin/azkaban-solo-start.sh
jps
1616 AzkabanSingleServer
http://chao2:8081/
页面显示的信息和用户信息存储在conf目录下。
关闭:
./bin/azkaban-solo-shutdown.sh
4.运行实例
创建一个文件foo.job ,内容如下:
type=command
command=echo "Hello World"
打成zip包:
zip -r foo.zip *
在Azkaban页面依次点击:
Create Project -> Upload
Project -> Execute Flow -> Execute
Flow Log
Job List -> Details 可见“Hello World”
5.常见问题
在执行hdfs任务时,任务不能顺利执行,INFO:
Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job hdfs, sleep for 60 secs and retry, attempt 1 of 720
- 问题分析:
出现这个问题的原因是内存不够,因为 Azkaban默认的配置是不会使用 Linux cache memory 内存的,这个时候如果 free memory比较小的话,就会抛出异常。 - 问题解决:
在conf目录下的配置文件中添加:
vim conf/azkaban.properties
memCheck.enable=false
vim plugins/jobtypes/commonprivate.properties
memCheck.enable=false
适用于各种server