azkaban简单入门

一、下载

从github上下载,azkaban , 需要注意的是,azkaban官方只是提供了源码,需要我们自己编译。

二、编译

azkaban 的编译也是很简单,但是前提是你需要足够的耐心,我是真的差点弄疯了,编译 花了我几个小时,一直以为我哪里到错误了,最后又编译成功了,实在搞不懂。

需要注意的是:3.x之后的web项目中没有conf、plugins文件夹,我们需要从solo中复制过来。

编译的顺序安装官方提供的顺序即可。

# Build Azkaban
./gradlew build

# Clean the build
./gradlew clean

# Build and install distributions
./gradlew installDist

# Run tests
./gradlew test

# Build without running tests
./gradlew build -x test

这里需要注意的是,编译azkaban需要git、gradle环境。安装git简单,对版本没有什么要求,一般情况下都是1.7.1.

yum -y install git

[root@bigdata02 ~]# git --version
git version 1.7.1
[root@bigdata02 ~]# 

安装gradle的话,我们需要看下gradle/wrapper文件夹下,编辑gradle-wrapper.properties文件,我们修改如下文件:

#Sat Sep 09 11:12:17 PDT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
distributionUrl=gradle-4.1-all.zip

在最后一行添加我们下载的gradle,我们将其下载的gradle放到wrapper目录下。当然这都是在我们编译之前的准备工作。
编译完成之后,我们可以在每个对应的工程的class/install目录下找到对应的编译好的项目。初学者我们只需要如下四个项目即可。

drwxr-xr-x. 2 root root 4096 11月 19 14:53 azkaban-db
drwxr-xr-x. 9 root root 4096 11月 20 16:25 azkaban-exec-server
drwxr-xr-x. 8 root root 4096 11月 19 15:22 azkaban-solo-server
drwxr-xr-x. 8 root root 4096 11月 20 16:25 azkaban-web-server

我们需要将solo包的conf、plugins文件夹放到exec、web对应的文件夹。

启动之前,我们需要生成一个keystore文件.

keytool -keystore keystore -alias jetty -genkey -keyalg RSA

在启动之前,我们还需要注意下:
在conf文件夹我们必须有如下三个文件,这三个文件一定要存在。

# azkaban的核心配置文件
-rw-r--r--. 1 root root 660 11月 19 17:32 azkaban.properties
# 这个文件即使是空的也是需要的
-rw-r--r--. 1 root root   1 11月 19 17:34 global.properties
# 就是log4j的配置文件
-rw-r--r--. 1 root root 251 11月 19 17:33 log4j.properties

azkaban 核心配置文件

# Azkaban
 default.timezone.id=Asia/Shanghai

 # Azkaban JobTypes Plugins
 azkaban.jobtype.plugin.dir=plugins/jobtypes

 # Loader for projects
 executor.global.properties=conf/global.properties
 azkaban.project.dir=projects

database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=25

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

# JMX stats
jetty.connector.stats=true
executor.connector.stats=true

# uncomment to enable inmemory stats for azkaban
#executor.metric.reports=true
#executor.metric.milisecinterval.default=60000

还有一个项目没有用,那就是db,在上面的配置文件中也可以看出需要和数据库相连,这里就是我们需要创建一个数据库,这个很简单了,接着导入db项目中的一个有all的sql,创建表即可。

这里写图片描述
source create-all-sql-0.1.0-SNAPSHOT.sql

三、启动

# execute项目下
bin/azkaban-executor-start.sh
# web项目下
bin/azkaban-web-start.sh

测试:
浏览器输入:https://ip:8443即可出现登录页面

这里写图片描述

四、简单示例

1、创建一个echo.job文件

type=command
command=echo "data 2 hive"

2、将echo.job打成zip包

3、创建一个项目


这里写图片描述

4、上传项目


这里写图片描述

5、运行

这里写图片描述

有可能运行会出现如下问题:

 Job failed, Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job

解决方法如下:
在executor文件夹下的plugins/jobtypes/commonprivate.properties文件添加如下代码:

memCheck.enabled=false 

最后完美解决。

五、总结

有时候看着挺简单的东西,安装起来还真是麻烦百出,这就是这次总结吧。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,678评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,056评论 25 707
  • 前言 为什么需要学Gradle? Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之...
    真笨笨鱼阅读 1,483评论 0 0
  • 和被介绍的男生第一次正式见面,席间相聊甚欢,可是却不知道他是何种想法。下车礼貌地说了句下次有机会请你吃饭吧,便下车...
    洛岑阅读 150评论 0 0