Azkaban3.50.0资源准备+部署+配置

目录

Azkaban三种部署模式:

                          本文主要对第二种部署方式进行讲解

资源准备

安装配置

Azkaban Web 服务配置

SSL套接字连接器

准备 Azkaban-web 的6个文件

配置conf/azkaban.properties

编辑      vim conf/azkaban.properties

移动密钥文件keystore

azkaban-users.xml  添加用户

Conf/Log4j.properties 编写

Azkaban Exec 服务配置

准备azkaban-exec 下的5个文件

Conf/azkaban.properties 修改jetty

Conf/azkaban.properties  新增其他

测试启动

Azkaban-exec 启动

Azkaban-web 启动

UI界面访问


Azkaban三种部署模式:

1. solo server mode    

       在独立服务器模式下,使用的数据库是内嵌的H2,并且webserver(Web服务器)和executor server (执行服务器)都在同一进程中运行。 如果只想尝试一下Azkaban的使用,或者是很小规模的测试使用,这种部署模式还是可行的。

2. two server mode   

       双服务器模式适用于比较复杂的生产环境,它的数据库会由具有主从设置的MySQL实例提供支持。其中,Web服务器和执行服务器应在不同的进程中运行,以便升级和维护过程中不影响用户。

3. distributed multiple -exe cutor mode    

       分布式多执行器模式适用于特别复杂的生产环境,它的数据库同样应该由具有主从设置的MySQL实例支持。理想情况下,Web服务器和执行服务器应在不同的主机中运行,以便升级和维护不影响用户。这种分布式多主机设置的模式为Azkaban带来了强大且可扩展的性能。

                          本文主要对第二种部署方式进行讲解

资源准备

系统环境:

  1. Linux    CentOS 8
  2. Mysql   mysql8.0.17 
  3. JDK      1.8

azkanban3.50.0源码包下载:

     https://codeload.github.com/azkaban/azkaban/tar.gz/3.50.0

上传到linux系统并解压:

  1.     rz                                                                     上传
  2.    tar    -zxvf      azkaban-3.50.0.tar.gz               解压

编译:

需要先安装 git :

  •                 yum  -y  install git 

进入到azkaban目录,执行:

  •             . /gradlew build -x test
  • 上述指令会跳过Azkaban源文件的测试类部分进行自动编译构建(使用./gradlew  build指令会对整个源文件全部进行编译),整个过程需要联网,如果网络不好的情况下会非常耗时,连接中断的话需要多次重试。

当看到下面标志表示编译成功:

        Azkaban源文件编译成功后,会在解压目录下各自azkaban-*/build/distributions目录下生成基于Windows和Linux的安装包文件。这里以azkaban-exec-server执行器项目为例进行演示查看,在Azkaban 解压目录下,进入azkaban-exec-server/build /distributions目录查看

 

安装配置

首先需要已经完成了mysql的安装配置(这里不再说明,如果没有mysql,可以参照其他博客进行安装配置,这里提供两个链接)

                                                  链接一                      链接二

完成mysql之后,建立一个名为azkaban的数据库:

# 1、进入mysql
mysql -u root -p 


# 2、创建数据库
create database azkaban;

设置数据包最大接受数:

# 1、编辑文件
vim  /etc/my.cnf.d/mysql-server.d

或者    vim  /etc/my.cnf 



# 2、修改文件之后要重新启动mysql
systemctl  restart mysqld

Azkaban数据库初始化:

# 1、使用azkaban数据库
use azkaban;


# 2、执行sql脚本
source    /export/servers/azkaban-3.50.0/azkaban.db/build/distributions/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql;

如下图所示:(需要先对azkaban-db-0.1.0-SNAPSHOT.tar.gz 解压)

Azkaban Web 服务配置

  • SSL套接字连接器

        先在hadoop01机器上的某个目录下(如/export/sofware目录下)执行如下指令,生成SSL秘钥库。 

# 1、生成密钥

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


        执行上述指令后,会要求输入“keystore password (秘钥口令)",这里输入“123456",确认密码‘’123456”

       接下来,继续回车,还会要求输入姓名、组织、国家等,用户可自定义填写或不填写内容;然后在“is correct? (是否正确)” 的地方输入“Y"。

  • 准备 Azkaban-web 的6个文件

将前面编译好的web服务安装包进行解压到/export/servers/azkaban目录下(如果不存在,需要提前创建)

在安装包的目录执行 如下命令

# 1、解压web服务安装包

tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz  -C  /export/servers/azkaban

执行上述指令,解压web-server后,只会在/export/servers/azkaban/azkaban-*目录下产生bin、lib 和web三个文件,而实际情况下,Azkaban 服务需要多个文件.

需要在其他文件下拷贝出来:   (先解压azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz)

进入到  azkaban目录下的azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT/

复制  conf  和   plugins   到 /export/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/

# 1、复制conf

cp  -r  conf/  /export/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/


# 2、复制plugins

cp  -r  plugins/  /export/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/

还需要一个extlib目录:手动创建

之从,web-server 中的六个文件齐全

  • 配置conf/azkaban.properties

编辑                            vim conf/azkaban.properties

  • 移动密钥文件keystore

       需要注意的是,为了保证Azkaban Web服务器配置文件azkaban.properties能够找到前面生成的keystore,还需要将生成的keystore秘钥文件移动到当前解压后的Azkaban  Web服务根目录下(即/export servers/ azkaban azkaban-web.server-0.1.0-SNAPSHOT目录下)


 

  • azkaban-users.xml  添加用户

设置:         username:admin           password:admin

  • Conf/Log4j.properties 编写

# log4j.properties

log4j.rootLogger=INFO,Console
log4j.logger.azkaban=INFO,server 
log4j.appender.server=org.apache.log4j.RollingFileAppender
log4j.appender.server.layout=org.apache.log4j.PatternLayout
log4j.appender.server.File=logs/azkaban-server.log
log4j.appender.server.layout.ConversionPattern= \
               %d{yyyy/MM/dd HH:mm:ss.SSS Z} %p [%c{1}] [Azkaban] %m%n
log4j.appender.server.MaxFileSize=102400MB
log4j.appender.server.MaxBackupIndex=2
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern= \
               %d{yyyy/MM/dd HH:mm:ss.SSS Z} %p [%c{1}] [Azkaban] %m%n

Azkaban Exec 服务配置

  • 准备azkaban-exec 下的5个文件

Azkaban Web服务器的安装配置后,还需要对AzkabanExecutor服务器进行安装配置,其整个安装配置过程与Azkaban Web服务器的安装配置类似,具体步骤如下。

先将前面小节编译好的Executor服务安装包进行解压到/export servers/azkaban目录
下(如果不存在,需要提前创建),具体指令如下(在安装包所在目录执行)。

#解压


tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz  -C /export/servers/azkaban

执行命令后,会在解压目录下看到bin 和 lib 两个文件,同Web服务安装包一样,还缺失conf、extlib、plugins三个文件,(exec执行器服务不需要web文件夹),,这里只需要从前面已配置好的Azkaban Web 服务器的安装文件下进行拷贝即可。如下图

  • Conf/azkaban.properties 修改jetty


  • Conf/azkaban.properties  新增其他

注意:任何一个参数都不可以重复!!!    请细致检查一遍   ~-~

测试启动

  • Azkaban-exec 启动

到  /export/servers/azkaban/azkaban-exec-server-*  目录下 ,执行 

#  执行器启动

bin/start-exec.sh


# 执行器关闭

bin/shutdown-exec.sh
  • Azkaban-web 启动

到  /export/servers/azkaban/azkaban-web-server-*  目录下 ,执行 

#  web启动

bin/start-web.sh


# web关闭

bin/shutdown-web.sh
  • UI界面访问

https://hadoop01:8443               hadoop01 就是主机的ip地址。

猜你喜欢

转载自blog.csdn.net/weixin_42633481/article/details/106632915