Linux部署azkaban

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

猜你喜欢

转载自blog.csdn.net/weixin_44677459/article/details/112994046