Azkaban编译、架构及运行模式简介

1.下载源码

https://github.com/azkaban/azkaban

Azkaban编译、架构及运行模式简介_第1张图片
查找想要安装的版本

按官网git clone的是最新版本,但最新的不一定是稳定版本,因此建议在github找一个稳定版本

2.在此下载3.74.7版本

[root@hadoop001 source]# pwd
/root/source
[root@hadoop001 source]# wget https://github.com/azkaban/azkaban/archive/3.74.7.tar.gz
[root@hadoop001 source]# ll
total 179684
-rw-r--r--  1 root root   19203187 Sep 23 19:01 3.74.7.tar.gz
[root@hadoop001 source]# mv 3.74.7.tar.gz azkaban-3.74.7.tar.gz
[root@hadoop001 source]# ll
total 179684
-rw-r--r--  1 root root   19203187 Sep 23 19:01 azkaban-3.74.7.tar.gz
[root@hadoop001 source]# ll
total 179688
drwxrwxr-x 23 root root       4096 Jul 23 07:36 azkaban-3.74.7
-rw-r--r--  1 root root   19203187 Sep 23 19:01 azkaban-3.74.7.tar.gz
[root@hadoop001 source]# cd azkaban-3.74.7
[root@hadoop001 azkaban-3.74.7]# ls
az-core                            azkaban-web-server
az-crypto                          az-reportal
az-examples                        build.gradle
az-exec-util                       CONTRIBUTING.md
az-flow-trigger-dependency-plugin  docs
az-flow-trigger-dependency-type    gradle
az-hadoop-jobtype-plugin           gradle.properties
az-hdfs-viewer                     gradlew
az-intellij-style.xml              gradlew.bat
az-jobsummary                      LICENSE
azkaban-common                     NOTICE
azkaban-db                         README.md
azkaban-exec-server                requirements.txt
azkaban-hadoop-security-plugin     settings.gradle
azkaban-solo-server                test
azkaban-spi                        tools
[root@hadoop001 azkaban-3.74.7]# ./gradlew build installDist -x test
...
BUILD SUCCESSFUL in 33m 29s
...
[root@hadoop001 azkaban-3.74.7]# cd azkaban-solo-server/
[root@hadoop001 azkaban-solo-server]# ls
build  build.gradle  src
[root@hadoop001 azkaban-solo-server]# cd build
[root@hadoop001 build]# ls
classes  distributions  install  libs  resources  tmp
[root@hadoop001 build]# cd distributions/
[root@hadoop001 distributions]# ls
azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
azkaban-solo-server-0.1.0-SNAPSHOT.zip
[root@hadoop001 distributions]# cd ../../../
[root@hadoop001 azkaban-3.74.7]# cd azkaban-exec-server/
[root@hadoop001 azkaban-exec-server]# ls
build  build.gradle  src
[root@hadoop001 azkaban-exec-server]# cd build
[root@hadoop001 build]# ls
classes  distributions  install  libs  resources  tmp
[root@hadoop001 build]# cd distributions/
[root@hadoop001 distributions]# ls
azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
azkaban-exec-server-0.1.0-SNAPSHOT.zip
[root@hadoop001 distributions]# cd ../../../                                
[root@hadoop001 azkaban-3.74.7]# cd azkaban-web-server/
[root@hadoop001 azkaban-web-server]# ls
build  build.gradle  node_modules  package.json  package-lock.json  src
[root@hadoop001 azkaban-web-server]# cd build
[root@hadoop001 build]# ls
classes        dust     jsToPackage  libs    resources
distributions  install  less         nodejs  tmp
[root@hadoop001 build]# cd distributions/
[root@hadoop001 distributions]# ls
azkaban-web-server-0.1.0-SNAPSHOT.tar.gz  azkaban-web-server-0.1.0-SNAPSHOT.zip

编译成功之后,去对应目录下找到对应模式的安装包即可

3.Azkaban架构

1)Relational Database(MySQL)

azkaban将大多数状态信息都存于MySQL中,Azkaban Web Server 和 Azkaban Executor Server也需要访问DB

2)Azkaban Web Server

提供了Web UI,是azkaban的主要管理者,包括 project 的管理,认证,调度,对工作流执行过程的监控等

3)Azkaban Executor Server

调度工作流和任务,纪录工作流活任务的日志,之所以将AzkabanWebServer和AzkabanExecutorServer分开,主要是因为在某个任务流失败后,可以更方便的将重新执行。而且也更有利于Azkaban系统的升级


Azkaban编译、架构及运行模式简介_第2张图片

4.Azkaban架构的三种运行模式

1)solo server mode

web server 和 executor server运行在一个进程里。这是最简单的模式,数据库内置的H2数据库(可以换为MySQL),管理服务器和执行服务器都在一个进程中运行,任务量不大项目可以采用此模式

2)two server mode

web server 和 executor server运行在不同的进程。数据库为MySQL(生产上一定要做主备),管理服务器和执行服务器在不同进程,这种模式下,管理服务器和执行服务器互不影响

3)multiple executor mode

web server 和 executor server运行在不同的进程,executor server有多个。该模式下,执行服务器和管理服务器在不同主机上,且执行服务器可以有多个

你可能感兴趣的:(Azkaban编译、架构及运行模式简介)