新版azkaban4.0编译安装教程

本文提供了一步一步的新版Azkaban 4.0的编译安装教程,包括从下载源码到成功运行的过程。讲解了如何解决因网络问题导致的编译失败,以及安装部署Azkaban Web服务器和Executor服务器的详细步骤,涉及数据库配置、SSL设置、时间同步和配置文件修改等关键环节。最后,介绍了Azkaban的Command、HDFS操作、MapReduce任务和HIVE脚本任务的实战应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新版azkaban4.0编译安装教程

由于官方没有提供安装包所以需要下载源码,按照本文安装可以完美运行
解压

wget https://github.com/azkaban/azkaban/archive/refs/tags/4.0.0.tar.gz

tar -zxvf 4.0.0.tar.gz -C /opt/software/
cd azkaban-4.0.0 

没有安装git的话需要先安装 https://gradle.org/releases/

yum -y update
yum -y install git

进入azkaban目录开始编译

# Build Azkaban
./gradlew build

# 打包完成后查看打包后的文件
ll azkaban-web-server/build/distributions/  
ll azkaban-exec-server/build/distributions/
ll azkaban-db/build/distributions/
ll azkaban-solo-server/build/distributions/

由于此次编译的服务器在国外,所以编译中没有因为网络等原因报错,耗时不到1分钟。如果因为网络原因编译失败可以下载我编译后的安装包,下载地址:https://download.csdn.net/download/baidu_28351593/37011721

三、Azkaban 安装部署
3.1 安装前准备
1)将 Azkaban Web 服务器、Azkaban 执行服务器和 MySQL 拷贝到 hadoop102虚拟机的 /opt/software目录下

azkaban-web-server-2.5.0.tar.gz
azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
mysql-libs.zip
2)目前 azkaban 只支持 mysql,需安装 mysql 服务器,本文档中默认已安装好 mysql 服务器,并建立了 root用户,密码 root。

3.2 安装 azkaban
1)在/opt/module/目录下创建 azkaban 目录

[duoduo@hadoop102 module]$ mkdir azkaban
2)解压 azkaban-web-server-2.5.0.tar.gz、azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz 到 /opt/module/azkaban 目录下

tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /opt/module/azkaban/
tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C /opt/module/azkaban/
tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban/
3)对解压后的文件重新命名

mv azkaban-web-2.5.0/ server
mv azkaban-executor-2.5.0/ executor
4)azkaban 脚本导入
进入 mysql,创建 azkaban 数据库,并将解压的脚本导入到 azkaban 数据库。

mysql -uroot -p123456
mysql> create database azkaban;
mysql> use azkaban;
mysql> source /opt/module/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
注:source 后跟 .sql 文件,用于批量处理 .sql 文件中的sql 语句。

3.2 创建 SSL 配置
参考地址: http://docs.codehaus.org/display/JETTY/How+to+configure+SSL
Keytool 是 java 数据证书的管理工具,使用户能够管理自己的公/私钥对及相关证书。
  -keystore 指定密钥库的名称及位置(产生的各类信息将不在 .keystore 文件中)
  -genkey 在用户主目录中创建一个默认文件 “.keystore”
  -alias 对我们生成的 .keystore 进行指认别名;如果没有默认是 mykey
  -keyalg 指定密钥的算法 RSA/DSA 默认是 DSA
1)生成 keystore 的密码及相应信息的密钥库

复制代码
[duoduo@hadoop102 hadoop-2.7.2]$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA

输入 keystore 密码:123456
再次输入新密码: 123456
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的州或省份名称是什么?
[Unknown]:
该单位的两字母国家代码是什么
[Unknown]: CN
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正确吗?
[否]: y

输入的主密码
(如果和 keystore 密码相同,按回车):
再次输入新密码:
复制代码

注意:密钥库的密码至少必须 6 个字符,可以是纯数字或者字母或者数字和字母的组合等等,密钥库的密码最好和 jetty 的密钥相同,方便记忆。

2)将 keystore 拷贝到 azkaban web 服务器根目录中

mv keystore /opt/module/azkaban/server/
3.3 时间同步配置
先配置好服务器节点上的时区
1)如果在 /usr/share/zoneinfo/ 这个目录下不存在时区配置文件 Asia/Shanghai,就要用 tzselect 生成。

[duoduo@hadoop102 Asia]$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6