azkaban安装配置

azkaban安装配置

azkaban下载:官网地址
配置教程:azkaban.readthedocs.io/en/latest/getStarted.html#

编译

下载上方的源码包后,需要使用Gradle工具进行编译,下载地址

两个压缩包下载完成后,上传到虚拟机并解压
在这里插入图片描述

[root@num07 compression]# tar -zxvf azkaban-3.84.10.tar.gz
[root@num07 compression]# unzip gradle-5.6.3-all.zip

接下来,进入azkaban源码的解压包,执行解压指令:

[root@num07 compression]# cd azkaban-3.84.10
# 这里的-x test是跳过测试,指定可以减少编译时间
[root@num07 azkaban-3.84.10]# ./gradlew build installDist -x test

编译成功后,将以下三个压缩包拷贝出来:
./azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT.tar.gz
.//azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
./azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
在这里插入图片描述
接下来开始配置azkaban

配置

首先创建azkaban的安装目录,将上面的三个压缩包解压到里面

[root@num07 opt]# mkdir azkaban
[root@num07 opt]# cd azkaban/
[root@num07 azkaban]# tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
[root@num07 azkaban]# tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
[root@num07 azkaban]# tar -zxvf azkaban-db-0.1.0-SNAPSHOT.tar.gz
[root@num07 azkaban]# mv azkaban-exec-server-0.1.0-SNAPSHOT azkaban-exec
[root@num07 azkaban]# mv azkaban-web-server-0.1.0-SNAPSHOT azkaban-web
[root@num07 azkaban]# rm -f *.gz

首先进入azkaban-exec包下修改配置:cd azkaban-exec
vi conf/azkaban.properties

  1. 将默认时区改为亚洲/上海
  2. 修改网页服务url的IP地址
    在这里插入图片描述
  3. 修改mysql的服务IP地址(azkaban将元数据保存在mysql)
  4. 默认的mysql用户名和密码都是azkaban,可以选择修改
    在这里插入图片描述
    这里可以加上一条配置项executor.port=12321指定登录端口

上面修改完成后,到指定的主机上登录mysql,创建上面指定的azkaban数据库和azkaban用户:

mysql> create database azkaban;
mysql> create user 'azkaban'@'%' identified by 'azkaban';
-- 授权操作最好在数据库全部表格导入后再执行
mysql> grant select,insert,delete,update on azkaban.* to 'azkaban'@'%' with grant option;

mysql默认的比较小,在my.cnf配置文件中增加该项配置:

max_allowed_packet=1024M

此时还有另外一项工作,创建azkaban存储在mysql中的元数据表格,在解压的azkaban-db-0.1.0-SNAPSHOT.tar.gz解压包中,有一个create-all-sql-0.1.0-SNAPSHOT.sql文件,是创建这些表格的脚本,可以在mysql的azkaban库中,执行source /opt/azkaban/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql指令,创建全部表格

留意是否全部表格创建成功:
在这里插入图片描述
完成后重启mysql

这时可以尝试启动azkaban-exec了:

[root@num07 azkaban-exec]# bin/start-exec.sh 
[root@num07 azkaban-exec]# jps
2594 AzkabanExecutorServer
2605 Jps
1886 GradleDaemon
# 可以看到AzkabanExecutorServer服务就说明启动成功了

此时登录mysql,查看azkaban.executors表格,可以看到以下数据:
在这里插入图片描述
此时的用户是未激活状态,执行curl -G "num07:39779/executor?action=activate" && echo命令激活用户
在这里插入图片描述
再去查看azkaban.executors表中,active字段值已改为1,表示已激活
在这里插入图片描述
azkaban-exec配置完成,接下来配置azkaban-web

cd azkaban-web/
vi conf/azkaban.properties
  1. 修改时区

在这里插入图片描述
2. 修改对应的mysqlIP、账号和密码
3. MinimumFreeMemory限制可用内存需要在6G以上,当不满足条件时将不开启web,这里为了演示将该项删除
在这里插入图片描述
修改azkaban-user.xmlvi conf/azkaban-users.xml
添加一个用户,设置用户名和密码,注意将用户角色设为admin
在这里插入图片描述
设置完成后,就可以启动服务了:

[root@num07 azkaban-web]# bin/start-web.sh 
[root@num07 azkaban-web]# jps
3505 Jps
3494 AzkabanWebServer
3239 AzkabanExecutorServer
1886 GradleDaemon
# 可以看到AzkabanWebServer服务说明启动成功了

测试

打开我们配置IP的8081端口,可以看到下面页面,输入刚才配置的用户名和密码登录
在这里插入图片描述
点击创建新项目
在这里插入图片描述
在这里插入图片描述
创建一个项目文件:azkaban.project

azkaban-flow-version: 2.0

创建任务文件:one.flow

nodes:
  - name: firstJob
    type: command
    config:
      command: echo "hello world"

注意使用yml格式编写,要用空格

编写完成后,将上述两个文件压缩到一个zip(rar不可以)文件中,然后上传
在这里插入图片描述
点击Excete Flow开启任务
在这里插入图片描述
配置任务启动选项后,点击Execute启动任务
在这里插入图片描述
任务执行成功,可以在日志中看到类似信息:
在这里插入图片描述

问题解决

安装过程中,除编译外,绝大部分问题都出在mysql上,当需要重新导入create-all-sql-0.1.0-SNAPSHOT.sql时,推荐把azkaban数据库和用户都删除掉

删除用户操作:

delete from mysql.user where user='azkaban';
flush privileges;
drop user ‘azkaban’;
flush privileges;
-- 再添加用户
create user 'azkaban'@'%' identified by '123456';

导入过程中,execution_logs表容易因为索引过长导致表格创建失败,报错原因是:INNODB 引擎,UTF-8,主键字符串 默认最大只能是767,此时有两种解决方案:

  1. 升级mysql数据库到5.7或以上
  2. 配置数据库
# 修改my.cnf文件,添加配置
innodb_large_prefix=ON
innodb_file_format=barracuda
innodb_file_per_table=ON
# 在create-all-sql-0.1.0-SNAPSHOT.sql脚本中,对应导入失败的建表语句后指定InnoDB引擎和utf-8字符集
create table test(...) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

在这里插入图片描述
执行日志出现上面报错的情况:
修改azkaban-exec的commonprivate.properties文件:
vi ./azkaban-exec/plugins/jobtypes/commonprivate.properties
增加一条配置:azkaban.native.lib=false

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值