Azkaban-4.0.0编译下载依赖出错解决,及简易安装步骤
Part1 解决编译过程遇到的问题
Azkaban源码的github地址是:
Azkanban-github
本人在下载Azkanban4.0.0源码后,编译过程中无法获取到某些依赖,猜测是网络的问题,于是将解压目录下build.gradle
中以下内容:
中的url
修改为
maven {
url 'https://linkedin.jfrog.io/artifactory/open-source/'
}
然后执行编译命令
./gradlew build installDist -x test
等待一段时间后编译成功
编译生成的包在以下目录
你的源码目录/azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT.zip
你的源码目录/azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.zip
你的源码目录/azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.zip
Part2 安装
(1)将上面的三个压缩包移动到azkaban安装目录并解压,修改目录名称如下
(2)在MySQL中创建数据库,创建sql语句如下:
CREATE DATABASE IF NOT EXISTS azkaban DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all privileges on azkaban.* to azkaban@'%' identified by 'azkaban';
use azkaban;
source /usr/local/soft/azkaban/azkaban-db/create-all-sql-0.1.0-SNAPSHOT.sql
(3)修改azkaban-exec-server/conf/azkaban.properties配置文件,主要内容如下:
default.timezone.id=Asia/Shanghai
# Azkaban mysql settings by default. Users should configure their own username and password.
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
主要是时区设置,以及mysql相关参数。其他参数默认即可。
(4)修改azkaban-web-server/conf/azkaban.properties配置文件,修改内容同上。
(5)启动executor
cd azkaban-exec-server/
bin/start-exec.sh
然后使用jps命令查看,如果有下面的进程,则启动完成
97513 AzkabanExecutorServer
在此之后,记住通过调用以下命令来激活执行器:
curl -G "localhost:$(<./executor.port)/executor?action=activate" && echo
这一步关键在于如何确定命令当中的port端口号。通过netstat
命令根据AzkabanExecutorServer进程的Pid查询出进程监听两个端口号35289和42082
将两个端口号都尝试之后42082端口返回了success
curl -G "localhost:42082/executor?action=activate" && echo
然后尝试启动web服务
cd azkaban-web-server/
bin/start-web.sh
在浏览器打开master:8081
,成功进入web页面,默认登录名和密码均为azkaban
note: 经过测试每次重新启动executor之后端口都有所不同,需要根据netstat
查到相应端口后,发送命令得到成功的返回结果,才能去启动web服务,否则会启动失败!!!