搭建azkaban

一、下载azkaban包

https://github.com/azkaban/azkaban/releases 选择tar.gz下载

二、修改jdk配置

 可能会遇上这种问题,需要修改jdk配置

下载

JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 Download

下载解压后把文件夹UnlimitedJCEPolicyJDK8里的local_policy.jar和US_export_policy.jar放到 你的JAVA_HOME下/jre/lib/security里。(为了安全起见我们可以先把security文件夹里原来的local_policy.jar和US_export_policy.jar先mv成local_policy.jar.old和US_export_policy.jar.old然后上传)

三、编译azkaban

安装git

yum install -y git

解压azkaban压缩包

mkdir /soft/
 
tar -xzvf azkaban-3.9.tar.gz -C /soft

#运行其自带打包工具但需要先cd到文件夹内
 
cd /soft/azkaban-3.9/
 
#运行自带方法 Build Azkaban
 
./gradlew build

此时我这边报错,跳过测试编译

./gradlew build installDist -x test

此时文件夹内如下

将以上四个文件夹下

/build/distributions里的tar.gz 文件拿出来

拷贝到一个新的目录里

mkdir /opt/azkaban
cd /opt/azkaban

mv /soft/azkaban-3.9/azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT.tar.gz /soft/azkaban/
 
 
mv /soft/azkaban-3.9/azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz /soft/azkaban/
 
 
mv /soft/azkaban-3.9/azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz /soft/azkaban/
 
 
mv /soft/azkaban-3.9/azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz /soft/azkaban/

解压

tar -zxvf azkaban-db-0.1.0-SNAPSHOT.tar.gz
 
tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
 
tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
 
tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz

重命名:

mv azkaban-db-0.1.0-SNAPSHOT/ azkaban-db
 
mv azkaban-exec-server-0.1.0-SNAPSHOT/ azkaban-exec-server
 
mv azkaban-solo-server-0.1.0-SNAPSHOT/ azkaban-solo-server
 
mv azkaban-web-server-0.1.0-SNAPSHOT/ azkaban-web-server

四、设置数据库

我这边已经搭好了mysql,直接连接上去

//创建库
CREATE DATABASE IF NOT EXISTS azkaban_test;

//创建用户
create user 'azkaban'@'%' identified by 'azkaban';

//给用户访问库的权限
grant all on azkaban_test.* to 'azkaban'@'%' with grant option;

//修改数据库字符集
alter database azkaban_test character set Latin1;

//初始化数据库
use azkaban_test;
source /soft/azkaban/azkaban-db/create-all-sql-0.1.0-SNAPSHOT.sql;

五、配置azkaban

修改azkaban-web-server和azkaban-exec-server目录conf下的azkaban.properties的mysql配置

我这里还配置了邮箱,

mail.sender=xxx
mail.host=smtp.exmail.qq.com
mail.port=587
mail.tls=true
mail.user=user
mail.password=pwd

新建账号:

vim azkaban-web-server/conf/azkaban-users.xml

<azkaban-users>
  <user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
  <user password="metrics" roles="metrics" username="metrics"/>

  <user password="test" roles="metrics" username="test"/>


  <role name="admin" permissions="ADMIN"/>
  <role name="metrics" permissions="METRICS"/>
</azkaban-users>

手动修改exec-srver状态为激活。 
 这步很重要,不然后面web端会一直起不来,他会报错说execute没有available的,然后就停了。很蛋疼但是没办法。端口号在executor下的executor.port文件中可查  具体命令为

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

先启动exec-server,再启动web

此时8081顿口就可以访问了

六、配置ssl
 

keytool -keystore keystore -alias jetty -genkey -keyalg RSA
输入密钥库口令: 
再次输入新口令: 
您的名字与姓氏是什么?
[Unknown]: azkaban
您的组织单位名称是什么?
[Unknown]: azkaban
您的组织名称是什么?
[Unknown]: azkaban
您所在的城市或区域名称是什么?
[Unknown]: beijing
您所在的省/市/自治区名称是什么?
[Unknown]: beijing
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=azkaban, OU=azkaban, O=azkaban, L=beijing, ST=beijing, C=CN是否正确?
[否]: Y 

输入 <jetty> 的密钥口令
(如果和密钥库口令相同, 按回车):

输入完信息,执行完以上命令之后,在当前目录下生成一个keystore文件,将此文件复制到azkaban web服务器根目录下。

修改web azkaban.properties配置

jetty.use.ssl=true
jetty.maxThreads=25
jetty.port=8081
jetty.keystore=/opt/azkaban/azkaban-web-server/keystore #SSL 文件名
jetty.password=azkaban #SSL 文件密码
jetty.keypassword=azkaban  #Jetty 主密码 与 keystore 文件相同
jetty.truststore=/opt/azkaban/azkaban-web-server/keystore #SSL 文件名
jetty.trustpassword=azkaban # SSL 文件密码

服务重启,此时https:localhost:8443 就可以访问了。

!注意:

azkaban.properties中的时区一定要改为当前时区,否则,设置定时任务后执行的时间不对

 

参考:

azkaban3.9.0安装教程详细版_h952520296的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Azkaban是一个开源的批量工作流任务调度器,它提供了一个web界面来管理和监控调度任务。在Spring Boot中开发Azkaban调度任务,你可以通过以下步骤实现: 1. 首先,你需要安装和配置Azkaban服务。在上篇文章中已经详细介绍了Azkaban服务的安装过程,你可以按照那篇文章的指引进行操作。 2. 接下来,你需要创建一个Spring Boot项目,并添加Azkaban的依赖。你可以在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.linkedin.azkaban</groupId> <artifactId>azkaban-common</artifactId> <version>3.90.0</version> </dependency> ``` 3. 然后,你需要修改启动类,添加必要的配置和注解。在启动类上添加`@SpringBootApplication`注解,并通过`@PropertySource`注解指定Azkaban的配置文件路径。同时,你还需要排除`DataSourceAutoConfiguration`,因为Azkaban不需要数据库。 ```java @PropertySource("classpath:application.properties") @SpringBootApplication(exclude={DataSourceAutoConfiguration.class}) public class AzkabanApplication { private static final Logger LOGGER = LoggerFactory.getLogger(AzkabanApplication.class); public static void main(String[] args) { LOGGER.info("开始执行任务......"); ApplicationContext context = new AnnotationConfigApplicationContext(AzkabanApplication.class); IAzkabanService azkabanService = context.getBean(IAzkabanService.class); List<TsUserinfo> userinfos = azkabanService.queryAllUserInfo(); LOGGER.info("任务执行结束,结果为:\r\n"); userinfos.forEach(System.out::println); } } ``` 4. 最后,你可以通过运行测试类来测试任务的执行情况。当你访问Azkaban的web界面时,你应该能够看到任务的执行结果。 至此,你已经成功地在Spring Boot中开发了一个Azkaban的调度任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值