下载

链接

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. php 安装 自带扩展

    # 进入安装包解压目录 cd /usr/local/src/php-8.0.0/ # 进入扩展目录 cd ext/gd # 编译 phpize # 配置 ./configure --with-php- ...

  2. K8s之Etcd的备份与恢复

    ETCD简介 ETCD用于共享和配置服务发现的分布式,一致性的KV存储系统. ETCD是CoreOS公司发起的一个开源项目,授权协议为Apache. ETCD 存储 k8s 所有数据信息 ETCD 是 ...

  3. 自己使用Git规范流程-记录

    配置目录 建立仓库 1.点击"New project" 2.点击"Create blank project" 3.输入仓库名称,点击创建 4.仓库创建完成,个人 ...

  4. Ubuntu20下载安装Docker

    安装Docker 卸载旧版本 sudo apt-get remove docker \ docker-engine \ docker.io 使用apt安装 sudo apt-get update su ...

  5. PLC数据块中的偏移量

    PLC数据块中的偏移量是什么? 偏移量定义为:把存储单元的实际地址与其所在段的段地址之间的距离称为段内偏移,也称为"有效地址或偏移量". 段地址左移四位,与有效地址相加,就构成了逻 ...

  6. Workbench download Document

    1. package.xml <?xml version="1.0" encoding="UTF-8"?> <Package xmlns=&q ...

  7. C# 读取电脑CPU、主板、硬盘序列号等信息

    ManagementObjectSearcher 解析不到头文件,需要手动 Add Referance 需要添加引用:System.Management,然后引入命名空间:using System.M ...

  8. rtsp协议转换m3u8

    目前项目中使用海康的摄像头,但需要提供实时预览.目前通过转换协议实现预览.同时能够尽量减少服务器的压力,比如生成的ts文件个数. 思路 通过ffmpeg 将rtsp协议转换成hls协议 具体步骤 1. ...

  9. shell_Day06

    sed命令 Linux文本处理三剑客 之 sed sed stream EDite 作为行编辑器,对文本进行编辑(以行为单位进行编辑) 注意:sed编辑文件,却不改变原文件: sed的工作原理: 指定 ...

  10. VMware Workstation Ubuntu 20.04 LTS无法连接网络问题

    本文记录了自己使用的安装在VMware Workstation上的Ubuntu20.04无法连接到网络的解决过程--终于解决困扰我两个小时的问题 出现问题# 毫无征兆,平时使用正常的Ubuntu在今天 ...