azkaban-3.81.0 环境搭建安装 (以下在centos7中执行)

0. 模式介绍

(1)solo server mode,依赖自带的H2数据库,web server和executor server在同一个线程。测试或者小规模的案例可以用。
(2)two sercer mode,需要mysql作为元数据库,web server和executor server在不同一个线程
(3)multiple executor mode,2模式的扩展,可以有多个executor server

下面安装使用第 2 种模式

1.下载 压缩包

wget https://github.com/azkaban/azkaban/archive/3.81.0.tar.gz
wget https://services.gradle.org/distributions/gradle-4.6-all.zip

2.解压 azkaban-3.81.0.tar.gz 到 /opt/azkaban/

mkdir /opt/azkaban/
tar -zxvf azkaban-3.81.0.tar.gz -C /opt/azkaban/

3.拷贝 gradle 到 azkaban 下的 gradle/wrapper 目录

mv gradle-4.6-all.zip /opt/azkaban/azkaban-3.81.0/gradle/wrapper/
cd /opt/azkaban/azkaban-3.81.0/gradle/wrapper/

编辑 gradle-wrapper.properties , 修改 distributionUrl=gradle-4.6-all.zip

sed -i 's/https\\:\/\/services.gradle.org\/distributions\///g' gradle-wrapper.properties

4.编译环境准备

jdk8 及以上
git

5.执行编译安装命令

cd /opt/azkaban/azkaban-3.81.0 

-x test表示跳过测试,跳过测试可大大降低编译所需要的时间

注:安装过程中可能会有错误导致中断,一般都是网络问题(maven仓库下载jar包导致网络超时),解决方案有两种:
(1) 重复执行安装命令即可,下方有 rerun.sh 脚本(此种方式不推荐使用,会等待较长时间,如果一个jar包下载失败,会从零下载该jar包

将 rerun.sh 此脚本放入目录:/opt/azkaban/azkaban-3.81.0/ 下执行 :

#!/bin/bash
./gradlew installDist -x test
ff=$?
cc=0
while [[ $ff == 1 ]]
do
  let cc+=1
  echo "run times : "$cc
  echo "after 5s , run command again..."
  sleep 5s
  ./gradlew installDist -x test
  ff=$?
done

(2) 也可以通过修改maven仓库地址解决上面问题:修改 build.gradle ,将几处 mavenCentral() 、 mavenLocal() 注释掉,改用阿里云镜像 http://maven.aliyun.com/nexus/content/groups/public/

 repositories {
     //mavenCentral()    
     maven {
         //url 'https://plugins.gradle.org/m2/'
         url 'http://maven.aliyun.com/nexus/content/groups/public/'
     }   
  } 
   ...... 
  repositories {
     //mavenCentral()
     //mavenLocal()
     maven {
         url 'http://maven.aliyun.com/nexus/content/groups/public/'
     }  
 }

然后执行安装命令 :

./gradlew installDist -x test

6.安装成功后,检查 azkaban-web-server/build/install/azkaban-web-server 和 azkaban-exec-server/build/install/azkaban-exec-server 下的目录

bin 启动脚本目录
conf 配置文件目录(没有的话从solo-server的目录中拷贝过来)
lib 依赖jar包目录
extlib 附加jar包目录(没有的话手动创建)
plugins 插件安装目录 (没有的话从solo-server目录中拷贝过来)
web 资源文件
logs 日志文件(手动创建)

mkdir /opt/azkaban/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/extlib
mkdir /opt/azkaban/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/logs
mkdir /opt/azkaban/azkaban-3.81.0/azkaban-exec-server/build/install/azkaban-exec-server/extlib
mkdir /opt/azkaban/azkaban-3.81.0/azkaban-exec-server/build/install/azkaban-exec-server/logs
mkdir /opt/azkaban/azkaban-3.81.0/azkaban-exec-server/build/install/azkaban-exec-server/web
cp -r /opt/azkaban/azkaban-3.81.0/azkaban-solo-server/build/install/azkaban-solo-server/plugins /opt/azkaban/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/

7.创建Azkaban元数据库 sql脚本在azkaban-db文件中,可以先创建一个azkaban数据库和用户

mysql> use azkaban;
# **source [sql脚本目录]。有一个名字里带all的脚本:**
mysql> source /opt/azkaban/azkaban-3.81.0/azkaban-db/build/sql/create-all-sql-0.1.0-SNAPSHOT.sql

8.编辑 azkaban-web-server 中的 azkaban.properties、 azkaban-exec-server 中的 azkaban.properties

(1) azkaban-web-server

vim azkaban-web-server/build/install/azkaban-web-server/conf/azkaban.properties

修改下面的参数 (修改为绝对路径)

web.resource.dir=/opt/azkaban/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/web/
user.manager.xml.file=/opt/azkaban/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/conf/azkaban-users.xml
executor.global.properties=/opt/azkaban/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/conf/global.properties

(2) azkaban-exec-server

vim azkaban-exec-server/build/install/azkaban-exec-server/conf/azkaban.properties

修改下面的参数 (修改为绝对路径)

executor.global.properties=/opt/azkaban/azkaban-3.81.0/azkaban-exec-server/build/install/azkaban-exec-server/conf/global.properties
azkaban.jobtype.plugin.dir=/opt/azkaban/azkaban-3.81.0/azkaban-exec-server/build/install/azkaban-exec-server/plugins/jobtypes

(3) azkaban-web-server 、azkaban-exec-server

修改下面的参数 (修改为你自己数据库的配置)

 mysql.port=3306
 mysql.host=localhost
 mysql.database=azkaban
 mysql.user=azkaban
 mysql.password=azkaban
 mysql.numconnections=100

9.配置 keystore


> keytool -keystore keystore -alias jetty -genkey -keyalg RSA 
> keystore password: 123456 
> what is your first and last name: xx 
> what is the name of your organizational unit: xx
> what is the name of your organization: xx
> what is the name of your City or Locality: xx
> what is the name of your State or Province: xx
> what is the two_letter country code for this unit: CN

将生成的keystone文件拷贝到web-server的安装目录下,和conf等目录同级

mv keystore azkaban-web-server/build/install/azkaban-web-server/

10.先启动 exec-server 、然后启动 web-server , jps 检查进程

注:如果启动 web 程序失败,日志显示没有找到 executors:两种解决办法:

(1)检查 数据库表 executors 中 active列 是否为 1,手动修改为 1(host列 也可以修改为局域网内的 ip 地址),可以根据 exec-server 启动的端口定位一条记录(在日志文件bin/logs/azkaban-execserver.log中可以查看启动端口)

mysql> SELECT * FROM executors;

(2)也可以执行以下命令激活 executor :

curl http://${executorHost}:${executorPort}/executor?action=activate

最后分别启动 exec 和 web 服务

cd /opt/azkaban/azkaban-3.81.0/azkaban-exec-server/build/install/azkaban-exec-server/bin
./start-exec.sh
cd /opt/azkaban/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/bin
./start-web.sh

11.访问 http://ip:8081

访问端口azkaban-web-server/conf/azkaban.properties 配置文件中:

jetty.port=8081
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值