下载

链接

https://github.com/azkaban/azkaban/releases/4.0.0.tar.gz

解压

tar -xzvf 4.0.0.tar.gz -C 自定义目标目录

修改azkaban-4.0.0目录下的build.gradle文件

找到初始配置信息
maven{
url 'https://linkedin.bintray.com/maven'
} 进行修改
maven {
url 'https://linkedin.jfrog.io/artifactory/open-source/'
} 原有的仓库地址在国内访问会非常缓慢,甚至不能访问,造成编译过程报错。

修改 nodejs 相关配置

进入到/..../azkaban-4.0.0/azkaban-web-server目录中,打开build.gradle文件,将node选项中的download配置值设为false
node {
// Version of node to use.
version = '8.10.0' // Version of npm to use.
npmVersion = '5.6.0' // Base URL for fetching node distributions (change if you have a mirror).
distBaseUrl = 'https://nodejs.org/dist' // If true, it will download node using above parameters.
// If false, it will try to use globally installed node.
download = false // Set the work directory for unpacking node
workDir = file("${project.buildDir}/nodejs") // Set the work directory where node_modules should be located
nodeModulesDir = file("${project.projectDir}")
} 如果不修改的话,azkaban在编译的过程中就会去下载 node-8.10.0,大概率会因为网络问题使下载失败,从而导致编译失败。
我们本机需要准备好node环境(笔者在编译的时候遇到过,node环境已经存在,但是提示 npm not found 的报错信息,尝试多次后无果,最后将虚拟机重启解决。)

修改azkaban-db代码,以支持Mysql8.X系列数据库

进入/..../azkaban-4.0.0/azkaban-db/src/main/java/azkaban/db目录,修改MySQLDataSource.java
@Inject
public MySQLDataSource(final Props props, final DBMetrics dbMetrics) {
super();
this.dbMetrics = dbMetrics; final int port = props.getInt("mysql.port");
final String host = props.getString("mysql.host");
final String dbName = props.getString("mysql.database");
final String user = props.getString("mysql.user");
final String password = props.getString("mysql.password");
final int numConnections = props.getInt("mysql.numconnections"); //加上mysql的驱动类配置项,如果没有配置则默认是mysql5.x
//-----------------begin-----------------------
String driverName = props.getString("mysql.driverName");
if(driverName == null){
driverName = "com.mysql.jdbc.Driver";
}
//-----------------end----------------------- final String url = "jdbc:mysql://" + (host + ":" + port + "/" + dbName);
addConnectionProperty("useUnicode", "yes");
addConnectionProperty("characterEncoding", "UTF-8"); //setDriverClassName(com.mysql.jdbc.Driver); //修改成从配置中读取驱动类名
addConnectionProperty("useSSL", "false");
setDriverClassName(driverName); setUsername(user);
setPassword(password);
setUrl(url);
setMaxTotal(numConnections);
setValidationQuery("/* ping */ select 1");
setTestOnBorrow(true);
} azkaban 默认支持MySQL5.x版本,可以根据需要,决定是否让其适配5.x及8.x

编译

提前准备好 gradle-4.6-all.zip

下载链接:https://services.gradle.org/distributions/gradle-4.6-all.zip

整合到Azkaban中,目标目录如下:
/..../azkaban-4.0.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-4.6-all.zip # (添加该行内容)

指令

cd /..../azkaban-4.0.0/

./gradlew build installDist

可能会出现 test failed 的提示,使用如下参数跳过测试。

./gradlew build installDist -x test

不出意外,编译会顺利进行。

启动 Solo-Server

指令

cd /..../azkaban-4.0.0/azkaban-solo-server/build/install/azkaban-solo-server

sh ./bin/start-solo.sh

服务检查指令:jps
返回:AzkabanSingleServer 浏览器访问:
http://本机ip:8081/ 用户名/密码:azkaban/azkaban

案例

文件准备

mkdir first_azkaban_project && cd first_azkaban_project

vi basic.flow    (添加文件内容)

nodes:
- name: jobA
type: command
config:
command: echo "This is an echoed text." vi flow20.project (添加文件内容) azkaban-flow-version: 2.0 打包: zip -r Archive.zip . (在 first_azkaban_project 下) 如果没有 zip 指令,使用 yum install zip -y 进行安装 将生成的zip包拉取到本地,上传到提前创建好的项目中,运行即可。

Azkaban 4.0.0 系列(一)-- Solo-Server的更多相关文章

  1. Netty4.0学习笔记系列之一:Server与Client的通讯

    http://blog.csdn.net/u013252773/article/details/21046697 本文是学习Netty的第一篇文章,主要对Netty的Server和Client间的通讯 ...

  2. Azkaban 2.5.0 搭建

    一.前言 最近试着参照官方文档搭建 Azkaban,发现文档很多地方有坑,所以在此记录一下. 二.环境及软件 安装环境: 系统环境: ubuntu-12.04.2-server-amd64 安装目录: ...

  3. 【多端应用开发系列0.0.0——之总序】xy多端应用开发方案定制

    [目录] 0.0.0 [多端应用开发系列之总序]服务器Json数据处理——Json数据概述 0.0.0 [因] 正在学习多客户端应用开发,挖个坑,把所用到的技术方案,用最简单直白的语言描述出来,写成一 ...

  4. 【转】WF4.0实战系列索引

    转自:http://www.cnblogs.com/zhuqil/archive/2010/07/05/wf4-in-action-index.html 此系列的工作流文件案例比较多点,实用性好. W ...

  5. Azkaban 2.5.0 搭建和一些小问题

    安装环境: 系统环境: ubuntu-12.04.2-server-amd64 安装目录: /usr/local/ae/ankaban JDK 安装目录: export JAVA_HOME=/usr/ ...

  6. 【Azkaban搭建】---Azkaban 3.25.0搭建细则 超实用

    一.前述 Azkaban是一个工作流调度工具,因为需要各个任务之间有依赖关系,传统的Crontab 任务已经不能满足. 所以需要建立一套工作流引擎.相比Ooize来说,Azkaban的优势是作为一个客 ...

  7. Spark2.0机器学习系列之11: 聚类(幂迭代聚类, power iteration clustering, PIC)

    在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法:             (1)K-means             (2)Latent Dirichlet all ...

  8. Spark2.0机器学习系列之1: 聚类算法(LDA)

    在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法:      (1)K-means      (2)Latent Dirichlet allocation (LDA)  ...

  9. Azkaban学习之路(四)—— Azkaban Flow 2.0的使用

    一.Flow 2.0 简介 1.1 Flow 2.0 的产生 Azkaban 目前同时支持 Flow 1.0 和 Flow2.0 ,但是官方文档上更推荐使用Flow 2.0,因为Flow 1.0会在将 ...

  10. Entity Framework 6.0 入门系列 第一篇

    Entity Framework 6.0 入门系列 第一篇 好几年前接触过一些ef感觉不是很好用,废弃.但是 Entity Framework 6.0是经过几个版本优化过的产物,性能和功能不断完善,开 ...

随机推荐

  1. C# 属性空引用警告

    whereExpression = whereExpression.And(u => u.ValueInterger.ToString() != null &&** u.Valu ...

  2. loj2511

    引言 思维题. 这个做法跑得飞快,还不用 dp,也不是爆搜! 复杂度(可能)为 \(O(s^2t)\) 或 \(O(s^2)\),实际效率也是飞快. 不过这题我直接提交答案了. 思路 考虑 \(A=m ...

  3. Linux服务器监控性能测试

    1.进程与线程的定义与区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位[例如电脑上的不同程序] 线程是进程的一个实体,是cpu调度和分派的基本 ...

  4. react项目打包后点击index.html页面出现空白

    当本地打包后的文件,直接通过文件路径访问,出现空白或者,提示打包后的build内的js,css文件路径错误,有以下两种方式 方式一(无网络限制的情况下使用): 1.全局安装serve启动本地服务: n ...

  5. SAP BW/4HANA 听课笔记

    BW/4HANA听课笔记 1.本地SQL,BW/4HANA对象和HANA VIEW互相访问: 2.高级分析功能数据分析预测: 3.InfoOjbect:Characteristics(维度),Key ...

  6. Docker 容器基本操作(基础)

    拉钩教育App版权问题,如果转载请附带拉钩教育等信息 一,什么是容器 容器是基于镜像创建的可运行实例,并且单独存在,一个镜像可以创建出多个容器 二.容器生命周期,五个状态 stopped : 停止状态 ...

  7. Win上好用的App们

    recaps 习惯了mac的输入法切换键(CapsLock),在win下真是各种不适应.于是,找到了这个recaps.亲测好用(Win10 LTSC,键盘布局添加的英文.中文,中文用的第三方输入法). ...

  8. ADE-XL bsub提交超时

    查找命令行log, Fatal server error: could not open default font 'fixed' 解决方案: yum install 'xorg-x11-font*'

  9. OL3-Cesium 二三维鼠标事件统一处理

    like the github issue: https://github.com/openlayers/ol3-cesium/issues/344#issuecomment-214098148 th ...

  10. mysql学习问题解决

    1.字符串转时间格式函数: STR_TO_DATE('2017-10-19 16:47:00', '%Y-%m-%d %H:%i:%s') oracle的为to_date 2.specified tw ...