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 1119 14:53 azkaban-db
drwxr-xr-x. 9 root root 4096 1120 16:25 azkaban-exec-server
drwxr-xr-x. 8 root root 4096 1119 15:22 azkaban-solo-server
drwxr-xr-x. 8 root root 4096 1120 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 

最后完美解决。

五、总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值