azkaban multiple-executor模式部署

1、下载源码

git clone git@github.com:azkaban/azkaban.git
或者
wget https://github.com/azkaban/azkaban/archive/3.52.0.tar.gz  

2、编译

进入到下载的azkaban目录中进行编译:

yum -y install git 
yum -y install gcc-c++
# Build Azkaban

./gradlew build(这一步需要等待的时间略久,需要提前安装git、gcc等软件,否则会报错)
 
# Clean the build
./gradlew clean
 
# Build and install distributions
./gradlew installDist
 
# Run tests
./gradlew test
 
# Build without running tests
./gradlew build -x test
Gradle是一个基于Apache Ant和Apache Maven的项目自动化构建工具。-x test 跳过测试。(注意联
网下载jar可能会失败、慢)

2.1、如果上述操作一直失败,下面准备了所需要的文件

在这里插入图片描述

Azkaban所需要的sql脚本
azkaban-db-0.1.0-SNAPSHOT.tar.gz
Azkaban Web服务安装包
azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
Azkaban执行服务安装包
azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz

节点规划
节点规划

3、 数据库准备

1.解压文件
tar -zxvf azkaban-db-0.1.0-SNAPSHOT.tar.gz -C  /home/azkaban
2.安装mysql数据库 这里省略安装步骤
3.创建azkaban数据库
mysql -uroot -p
> CREATE DATABASE azkaban;

授权:

##允许任何客户端远程访问 并且马上生效
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
4.导入建表语句
source /home/azkaban-db-0.1.0-SNAPSHOT/create-all-sql- 0.1.0-SNAPSHOT.sql;

4、配置Azkaban-web-server

1.进入linux122节点 解压azkaban-web-server
tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz –C /home/azkaban/
2.进入azkaban-web-server根目录下
cd /home/azkaban/azkaban-web-server-0.1.0-SNAPSHOT 
#生成ssl证书:
 keytool -keystore keystore -alias jetty -genkey -keyalg RSA

在这里插入图片描述注意:运行此命令后,会提示输入当前生成keystore的密码及相应信息,输入的密码请记住(所有密码统一
以12345678输入),并且将生成的keystone文件拷贝到web-server的安装目录下的bin目录中,(不然报文件找不到错误)

3.修改 azkaban-web-server的配置文件
vim azkaban.properties
azkaban.name=Test              #服务器UI名称,用于服务器上方显示的名字
azkaban.label=My Local Azkaban #描述
azkaban.color=#FF3601          #UI颜色
azkaban.default.servlet.path=/index
web.resource.dir=/home/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/web/   #要使用绝对路径
default.timezone.id=Asia/Shanghai #默认时区,已改为亚洲/上海
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager    #用户权限管理默认类,使用绝对路径
user.manager.xml.file=conf/azkaban-users.xml      #用户配置,具体配置参见下文
# Loader for projects
executor.global.properties=conf/global.properties #globa配置文件所在位置 使用绝对路径
azkaban.project.dir=projects                      
 
# Azkaban Jetty server properties.  #jetty服务器属性
jetty.maxThreads=25                 #最大线程数
jetty.ssl.port=8443                 #jetty ssl端口号
jetty.port=8443                     #jetty端口

# KeyStore for SSL ssl相关配置 注意密码和证书路径 
jetty.keystore=keystore             #SSL文件名
jetty.password=12345678             #SSL文件密码
jetty.keypassword=12345678          #jetty主密码与keystore文件相同
jetty.truststore=keystore           #SSL文件名
jetty.trustpassword=12345678        #SSL文件密码
# Azkaban Executor settings

# mail settings                     #邮件配置(暂没有配置)
mail.sender=                        #发送邮箱
mail.host=                          #发送邮箱smtp地址
mail.password=                      #邮箱密码
job.failure.email=                  #任务失败时发送邮件的地址
job.success.email=                  #任务成功时发送邮件的地址
lockdown.create.projects=false
cache.directory=cache               #缓存目录

database.type=mysql          #数据库类型
mysql.port=3306              #数据库端口号
mysql.host=linux123          #数据库连接地址
mysql.database=azkaban       #数据库实例名
mysql.user=root				 #数据库用户名
mysql.password=12345678      #数据库密码
mysql.numconnections=100     #数据库最大连接数
azkaban.use.multiple.executors=true
##azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
azkaban.executorselector.comparator.Memory=1
azkaban.executorselector.comparator.LastDispatched=1
azkaban.executorselector.comparator.CpuUsage=1

添加属性

mkdir -p plugins/jobtypes 
cd plugins/jobtypes/ 
vim commonprivate.properties
azkaban.native.lib=false 
execute.as.user=false 
memCheck.enabled=false

5、配置Azkaban-exec-server

linux123节点,解压azkaban-exec-server

tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz –C /home/azkaban/

修改azkaban-exec-server的配置文件

cd /home/azkaban/azkaban-exec-server-3.51.0/conf
vim azkaban.properties
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=conf/azkaban-users.xml
# Loader for projects
executor.global.properties=/opt/lagou/servers/azkaban/azkaban-exec-server-0.1.0-SNAPSHOT/conf/global.properties
azkaban.project.dir=projects
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.use.ssl=false
jetty.maxThreads=25
jetty.port=8081
# Where the Azkaban web server is located
azkaban.webserver.url=http://linux122:8443
# mail settings
mail.sender=
mail.host=
# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
# when this parameters set then these parameters are used to generate email links.
# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
# azkaban.webserver.external_hostname=myazkabanhost.com
# azkaban.webserver.external_ssl_port=443
# azkaban.webserver.external_port=8081
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# Azkaban plugin settings
azkaban.jobtype.plugin.dir=plugins/jobtypes
# Azkaban mysql settings by default. Users should configure their own username and password.
database.type=mysql
mysql.port=3306
mysql.host=linux123
mysql.database=azkaban
mysql.user=root
mysql.password=12345678
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.flow.threads=30
executor.port=12321

分发exec-server到linux121节点

scp -r azkaban linux121:$PWD

6、启动服务

#启动exec-server 
bin/start-exec.sh 
#启动web-server 
bin/start-web.sh

这时候查看web日志是报错了的,日志在bin目录下
在这里插入图片描述

在这里插入图片描述
需要手动激活executor,可以用下面两种方式(目前自己用的第二种)

1. cd /opt/lagou/servers/azkaban/azkaban-exec-server-0.1.0-SNAPSHOT
 curl -G "linux123:$(<./executor.port)/executor?action=activate" && echo
2.进入azkaban数据库中执行下面操作
 update azkaban.executors set active=1;

在这里插入图片描述

7、遇到的问题:

1.界面丑

在这里插入图片描述
解决:web要使用绝对路径
在这里插入图片描述

2.密码认证一直出错

注意与生成密码认证时填写的是否一致(可能看似一致,但是有空格的存在,格外注意)
在这里插入图片描述

3.启动executor 发现mysql无权限

配置好mysql的远程访问权限即可,在上面的授权中有

4.启动web时许多地方报路径找不到

建议都使用绝对路径即可

5.Azkaban报错:azkaban.executor.ExecutorManagerException: No active executors found

需在MySQL数据库里设置端口为12321的executors表的active为1,启动服务的第二个解决方案中有

8.启动后的界面

访问https://linux122:8443:

在这里插入图片描述
密码在 web服务器conf目录中的 azkaban-users.xml中
在这里插入图片描述

附:azkaban编译之后所需要的文件

链接:https://pan.baidu.com/s/1qDMim45SwV2wcTYaMZ4Lcg
提取码:e2od

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值