Azkaban的安装步骤


安装分为两种,第一种使用源码安装,第二种使用已经编译好的安装包安装

第一种方式:下载源码,编译(git,node,maven等工具)

https://azkaban.github.io/

第二种:使用安装包安装

1、上传,解压

yum install unzip
-d的意思是解压到别的目录
unzip azkaban-3.56.0.zip -d /opt/installs/

[root@bigdata01 modules]# mv azkaban-3.56.0 /opt/installs/
[root@bigdata01 modules]# cd /opt/installs/
[root@bigdata01 installs]# mv azkaban-3.56.0/ azkaban

2、生成mysql的元数据

在mysql中创建一个数据库,叫做azkaban

create database azkaban CHARACTER SET UTF8;


在mysql 中如何执行sql脚本:
source /opt/modules/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql;

3、配置web-server

进入web-server文件夹:

cd /opt/installs/azkaban/web-server

在web-server文件夹下:

执行该命令为了生成keystore 文件

keytool -keystore keystore -alias jetty -genkey -keyalg RSA

密码默认都设置为:123456

请输入  Y ,否则再问一遍

修改web-server 下的conf 下的 azkaban.properties文件:

Jetty 是一个 web容器,用于运行web应用的,跟tomcat类似,只是比较小巧。

tomcat  开源免费 功能不算强大,不算一个正儿八经的web容器,只能算是servlet容器
Jetty  web容器,比tomcat 还小,功能还少
WebLogic  是一个收费的,重量级的web容器。 --BEA

web容器:把你的网站页面和代码都放在这个软件的里面,一运行就出现页面,并且代码也可以运行。
# Azkaban Personalization Settings
azkaban.name=YanGe的迈巴赫
azkaban.label=9.9包邮
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
# 此处需要编写绝对路径,如果跟我的安装路径一样,不需要改
web.resource.dir=/opt/installs/azkaban/web-server/web
# 时区默认是美国时区,修改为上海时区
default.timezone.id=Asia/Shanghai

# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/opt/installs/azkaban/web-server/conf/azkaban-users.xml

# Loader for projects
executor.global.properties=/opt/installs/azkaban/web-server/conf/global.properties
azkaban.project.dir=projects
# 配置mysql数据库连接的
database.type=mysql
mysql.port=3306
mysql.host=bigdata01
mysql.database=azkaban
mysql.user=root
mysql.password=123456
mysql.numconnections=100

# Velocity dev mode
velocity.dev.mode=false

# Azkaban Jetty server properties.
jetty.use.ssl=false
jetty.maxThreads=25
jetty.port=8081

# 此处是我们的生成的秘钥密码
jetty.keystore=keystore
jetty.password=123456
jetty.keypassword=123456
jetty.truststore=keystore
jetty.trustpassword=123456

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

# mail settings
#mail.sender=mx543042252@163.com
#mail.host=smtp.163.com
#mail.user=mx543042252@163.com
#mail.password=KFJYOIGXRIVFFIKP
# 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.native.lib=false
# Azkaban plugin settings

azkaban.jobtype.plugin.dir=plugins/jobtypes

web-server/conf 目录下 azkaban-users.xml

<user password="admin" roles="admin,metrics" username="admin" />

4、配置exec-server

修改exec-webserver 下 的conf 下的azkaban.properties

# Azkaban Personalization Settings
azkaban.name=Azkaban
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=/opt/installs/azkaban/web-server/web/
default.timezone.id=Asia/Shanghai

# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/opt/installs/azkaban/web-server/conf/azkaban-users.xml

# Loader for projects
executor.global.properties=/opt/installs/azkaban/exec-server/conf/global.properties
azkaban.project.dir=projects/
azkaban.execution.dir=execution/
executor.flow.threads=30
flow.num.job.threads=10
job.log.chunk.size=100
job.log.backup.index=10
job.max.Xms=1
job.max.Xmx=2
azkaban.server.flow.max.running.minutes=-1



# Azkaban mysql settings by default. Users should configure their own username and password.
database.type=mysql
mysql.port=3306
mysql.host=bigdata01
mysql.database=azkaban
mysql.user=root
mysql.password=123456
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.flow.threads=30


# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

# JMX stats
jetty.connector.stats=true
executor.connector.stats=true

azkaban.native.lib=lib/
#azkaban.jobtype.plugin.dir=plugins/jobtypes


# uncomment to enable inmemory stats for azkaban
#executor.metric.reports=true
#executor.metric.milisecinterval.default=60000

修改exec-webserver 下插件下的一个配置文件:

plugins/jobtypes/commonprivate.properties

set execute-as-user
execute.as.user=false
memCheck.enabled=false

修改驱动包:

因为之前编译这个azkaban的时候使用的驱动包比较老,所以删除掉,换新的。

此处记得修改两个文件夹下的lib  (web-server,exec-server)

cd /opt/installs/azkaban/exec-server/lib
rm -rf mysql-connector-java-5.1.28.jar

cp /opt/installs/sqoop/lib/mysql-connector-java-8.0.26.jar ./


cd /opt/installs/azkaban/web-server/lib
rm -rf mysql-connector-java-5.1.28.jar

cp /opt/installs/sqoop/lib/mysql-connector-java-8.0.26.jar ./

5、修改所有的.sh 的执行权限

需要将exec-server下以及 web-server 下所有的执行脚本都赋权限

修改web-server 下的执行权限:

cd /opt/installs/azkaban/web-server/bin
chmod 777 start-web.sh shutdown-web.sh
cd internal/
chmod 777 internal-start-web.sh util.sh

修改exec-server 下的执行权限:

cd /opt/installs/azkaban/exec-server/bin
chmod 777 start-exec.sh shutdown-exec.sh
cd internal/
chmod 777 internal-start-executor.sh util.sh

6、启动  web-server 以及 exec-server

cd   /opt/installs/azkaban-3.56.0/web-server/bin
./start-web.sh

cd   /opt/installs/azkaban-3.56.0/exec-server/bin
./start-exec.sh

启动无法访问,可以通过查看日志进行: