Linux部署azkaban
前置:部署jdk,部署GIT
克隆项目
git clone https://github.com/azkaban/azkaban.git
编译
cd azkaban/
./gradlew build installDist
创建一个文件夹用来放azkaban的web项目
cd ../
mkdir azikaban-3.85.0
然后把克隆的项目中的压缩包复制到当前的web项目文件夹中,并解压
cd root/azkaban/azkaban-exec-server/build/distributions/
cp azkaban-exec-server-3.85.0-3-g867b8e1.tar.gz root/azikaban-3.85.0/
cd root/azkaban/azkaban-web-server/build/distributions/
cp azkaban-web-server-3.85.0-3-g867b8e1.tar.gz root/azikaban-3.85.0/
cd root/azkaban/azkaban-db-server/build/distributions/
cp azkaban-db-server-3.85.0-3-g867b8e1.tar.gz root/azikaban-3.85.0/
cd root/azikaban-3.85.0/
tar -zxvf azkaban-exec-server-3.85.0-3-g867b8e1.tar.gz
tar -zxvf azkaban-web-server-3.85.0-3-g867b8e1.tar.gz
tar -zxvf azkaban-db-3.85.0-3-g867b8e1.tar.gz
解压之后, db下的文件夹列表如下
解压之后,web下的文件夹列表如下
exec下的文件夹列表如下:
进入到db的文件夹下,配置元数据库
######----------azkaban 的元数据只能是mysql数据库---------######
访问已经创建的好的mysql数据库(这步的操作需要DBA来操作,所以操作步骤就不写了)
然后把create-all-sql-3.85.0-3-g867b8e1.sql 文件考入库
source /root/azikaban-3.85.0/azkaban-db-server-3.85.0-3-g867b8e1/create-all-sql-3.85.0-3-g867b8e1.sql
执行过程中应该会报错
Specified key was too long; max key length is 767 bytes
把sql文件考本到本地,根据报错显示的行数,看是哪个表创建失败了
在建表语句后面跟上 ROW_FORMAT=DYNAMIC
建好之后数据库里的表
进入exec的conf目录中,可以看到有如下三个个文件
修改 azkaban.properties文件
# Azkaban Personalization Settings
# 可以将其他的属性注释掉或者删除,这里只配置时区这一项
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
# mail settings
lockdown.create.projects=false
cache.directory=cache
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# Azkaban Executor settings
executor.maxThreads=50
executor.flow.threads=30
# 这里添加一个端口配置
executor.port=12321
azkaban.execution.dir=executions
# 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=MySQL的ip地址
mysql.database=azkaban66
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
在exec的home目录下执行以下目录,启动exec服务:
cd azkaban-exec-server-3.85.0-3-g867b8e1/
sh bin/start-exec.sh
启动之后azkaban-exec-server-3.85.0-3-g867b8e1文件变为如下:
激活执行器,在azkaban-exec-server-3.85.0-3-g867b8e1文件夹下执行
curl -G "localhost:$(<./executor.port)/executor?action=activate" && echo
每次重启exec服务器,都需要激活
显示成功之后,进入到web文件夹下
cd ../azkaban-web-server-3.85.0-3-g867b8e1
生成keystore文件
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
照着输入即可,密码要记住,后续会用到,密码建议都一样
此时在看web目录之下,多了一个keystore文件
如果是在别的目录之下进行的这个命令操作
在相应的目录下会有这个文件,只要将这个文件拷贝到web目录下即可
修改 azkaban.properties文件,刚刚修改的exec下的,现在修改web下的
# Azkaban Personalization Settings
azkaban.name=#按规划填写
azkaban.label=#按规划填写
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=/root/azikaban-3.85.0/azkaban-web-server-3.85.0-3-g867b8e1/web/
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/root/azikaban-3.85.0/azkaban-web-server-3.85.0-3-g867b8e1/conf/azkaban-users.xml
# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.port=8081
jetty.ssl.port=8443
jetty.keystore=keystore
jetty.password=刚刚keystore的密码
jetty.keypassword=刚刚keystore的密码
jetty.truststore=keystore
jetty.trustpassword=刚刚keystore的密码
# Project Manager settings
project.temp.dir=/temp
project.version.retention=3
# Azkaban Executor settings
executor.port=12321
# mail settings
mail.sender=
mail.host=
mail.user=
mail.password=
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=ip地址
mysql.database=azkaban66
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
#Multiple Executor
azkaban.use.multiple.executors=true
azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
azkaban.executorselector.comparator.Memory=1
修改完成后返回到web文件夹下,创建文件夹plugins/jobtypes
cd ../
mkdir plugins
cd plugins/
mkdir jobtypes
创建完成回到web文件夹下
cd /root/azikaban-3.85.0/azkaban-web-server-3.85.0-3-g867b8e1
启动服务器
sh bin/start-web.sh
访问:https://IP:8443 访问azkaban