azkaban 部署-azkaban 的部署和应用

第一步:包准备

 首先我们先将Azkaban Web服务器、Azkaban执行服务器和MySQL统一拷贝到虚拟机/usr/local/src/azkaban目录下,

具体的命令如下:

[root@master zkaban]# ll|awk '{print $NF}'
98600
azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
azkaban-web-server-2.5.0.tar.gz
mysql-libs.zip
[root@master zkaban]# pwd
/usr/local/src/zkaban

数据库准备¶

  当前azkaban只支持 mysql,不支持其它的非关系型数据库,我们需安装mysql服务器,本文档中的演示情况是默认已安装好mysql服务器,并建立了 root用户,密码 root,如果没安装的需要自己安装一下。

第二步:安装azkaban¶

快速命令

cd /usr/local/azkaban/
mkdir -p /usr/local/azkaban/
tar xf azkaban-web-server-2.5.0.tar.gz -C /usr/local/azkaban/
tar xf azkaban-executor-server-2.5.0.tar.gz -C /usr/local/azkaban/
tar xf azkaban-sql-script-2.5.0.tar.gz -C /usr/local/azkaban/
cd /usr/local/azkaban/
ln -sf azkaban-web-2.5.0 server
ln -sf azkaban-executor-2.5.0 executor

详细过程

[root@master src]# cd zkaban/
[root@master zkaban]# ls
azkaban-executor-server-2.5.0.tar.gz  azkaban-sql-script-2.5.0.tar.gz  azkaban-web-server-2.5.0.tar.gz  mysql-libs.zip
[root@master zkaban]# ll
total 98600
-rw-r--r-- 1 root root 11157302 Feb 16  2017 azkaban-executor-server-2.5.0.tar.gz
-rw-r--r-- 1 root root     1928 Feb 16  2017 azkaban-sql-script-2.5.0.tar.gz
-rw-r--r-- 1 root root 11989669 Feb 16  2017 azkaban-web-server-2.5.0.tar.gz
-rw-r--r-- 1 root root 77807942 Mar  3  2017 mysql-libs.zip
[root@master zkaban]# mkdir -p /usr/local/azkaban
[root@master zkaban]# tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /usr/local/azkaban/
[root@master zkaban]# tar -xf azkaban-executor-server-2.5.0.tar.gz -C /usr/local/azkaban/
[root@master zkaban]# tar -xf azkaban-sql-script-2.5.0.tar.gz -C /usr/local/azkaban/
[root@master zkaban]# cd /usr/local/azkaban/
[root@master azkaban]# ln -sf azkaban-web-2.5.0 server
[root@master azkaban]# ln -sf azkaban-executor-2.5.0 executor

   数据导入¶

azkaban脚本导入,进入mysql,创建azkaban数据库,并将解压的脚本导入到azkaban数据库。

快速部署

source /usr/local/azkaban/server/create-all-sql-2.5.0.sql

详细操作

[root@master azkaban]# pwd
/usr/local/azkaban
[root@master azkaban]# ls /usr/local/azkaban/server/create-all-sql-2.5.0.sql 
/usr/local/azkaban/server/create-all-sql-2.5.0.sql
[root@master azkaban]# mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 751
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database azkaban;
Query OK, 1 row affected (0.02 sec)

mysql> use azkaban;
Database changed
mysql> source /usr/local/azkaban/server/create-all-sql-2.5.0.sql
Query OK, 0 rows affected (0.07 sec)

Query OK, 0 rows affected (0.02 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+------------------------+
| Tables_in_azkaban      |
+------------------------+
| active_executing_flows |
| active_sla             |
| execution_flows        |
| execution_jobs         |
| execution_logs         |
| project_events         |
| project_files          |
| project_flows          |
| project_permissions    |
| project_properties     |
| project_versions       |
| projects               |
| properties             |
| schedules              |
| triggers               |
+------------------------+
15 rows in set (0.00 sec)
mysql> exit
Bye

2.3 证书制作¶

[root@master server]# cd
[root@master ~]# cd /usr/local/azkaban/server/
[root@master server]# keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password:          <---- 输入一个密码[推荐000000,后面配置文件会用到]
Re-enter new password:            <---- 重复输入
What is your first and last name?
  [Unknown]:    <----  回车
What is the name of your organizational unit?
  [Unknown]:    <----  回车
What is the name of your organization?
  [Unknown]:    <----  回车
What is the name of your City or Locality?
  [Unknown]:    <----  回车
What is the name of your State or Province?
  [Unknown]:    <----  回车
What is the two-letter country code for this unit?
  [Unknown]:    <----  回车
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?
  [no]:  y      <----  输入y回车

Enter key password for <jetty>
    (RETURN if same as keystore password):   <----  输入之前密码 000000
Re-enter new password:                       <----  再次输入密码 000000

Warning:
keystore keystore -destkeystore keystore -deststoretype pkcs12".
[root@master server]# ls
azkaban.version  bin  conf  extlib  keystore  lib  plugins  web
[root@master server]# ecll
-bash: ecll: command not found
[root@master server]# ll
total 12
-rw-r--r-- 1 root root  105 Apr 22  2014 azkaban.version
drwxr-xr-x 2 root root  112 Apr 22  2014 bin
drwxr-xr-x 2 root root   57 Aug 13 11:14 conf
drwxr-xr-x 2 root root    6 Apr 22  2014 extlib
-rw-r--r-- 1 root root 2244 Aug 13 11:16 keystore
drwxr-xr-x 2 root root 4096 Aug 13 11:14 lib
drwxr-xr-x 2 root root    6 Apr 22  2014 plugins
drwxr-xr-x 6 root root   73 Aug 13 11:14 web
[root@master server]# du -sh keystore 
4.0K    keystore
cd /usr/local/azkaban/server/
keytool -keystore keystore -alias jetty -genkey -keyalg RSA

2.4 时间同步¶

   所有机器时间都要同步一致。省略,因为我新机器优化,已经配置过了。

2.5 配置文件修改¶

2.5.1 Web服务器配置¶

[root@master server]# cd ..
[root@master azkaban]# ls
azkaban-2.5.0  azkaban-executor-2.5.0  azkaban-web-2.5.0  executor  server
[root@master azkaban]# cd server/
[root@master server]# ll
total 16
-rw-r--r-- 1 root root  105 Apr 22  2014 azkaban.version
drwxr-xr-x 3 root root  179 Aug 13 11:40 bin
drwxr-xr-x 2 root root   57 Aug 13 11:34 conf
-rw-r--r-- 1 root root    7 Aug 13 11:40 currentpid
drwxr-xr-x 2 root root    6 Apr 22  2014 extlib
-rw-r--r-- 1 root root 2244 Aug 13 11:16 keystore
drwxr-xr-x 2 root root 4096 Aug 13 11:14 lib
drwxr-xr-x 2 root root    6 Apr 22  2014 plugins
drwxr-xr-x 6 root root   73 Aug 13 11:14 web
[root@master server]# cd conf/
[root@master conf]# ls
azkaban.properties  azkaban-users.xml

2.5.2 执行服务器配置¶

修改解释如下:

[root@master conf]# cat azkaban-users.xml 
<azkaban-users>
    <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
    <user username="metrics" password="metrics" roles="metrics"/>
    <user username="admin" password="admin" roles="admin,metrics" />    
    <role name="admin" permissions="ADMIN" />
    <role name="metrics" permissions="METRICS"/>
</azkaban-users>

<user username="admin" password="admin" roles="admin,metrics" /> 用户名和密码都会admin

[root@master conf]# egrep -v '#|^$' azkaban.properties 
azkaban.name=Test                           # 服务器UI名称,用于服务器上方显示的名字
azkaban.label=My Local Azkaban              # 描述
azkaban.default.servlet.path=/index
web.resource.dir=/usr/local/azkaban/server/web/   # 默认web 目录
default.timezone.id=Asia/Shanghai                 # 时区
user.manager.class=azkaban.user.XmlUserManager    # 用户权限管理默认类
user.manager.xml.file=/usr/local/azkaban/server/conf/azkaban-users.xml  # 配置文件[要使用绝对路径]
executor.global.properties=/usr/local/azkaban/server/conf/global.properties # 配置文件[要使用绝对路径]
azkaban.project.dir=projects
database.type=mysql      # 数据库类型(目前只支持mysql)
mysql.port=3306          # mysql 端口
mysql.host=master        # mysql的ip/域名
mysql.database=azkaban   # mysql创建的库
mysql.user=root          # 链接mysql 用户
mysql.password=root      # 链接mysql 密码
mysql.numconnections=100 # 最大链接数
velocity.dev.mode=false
jetty.maxThreads=25
jetty.ssl.port=8443      # web端口
jetty.port=8081
jetty.keystore=/usr/local/azkaban/server/keystore   # 证书地址[要使用绝对路径]
jetty.password=000000    # 制作证书的密码
jetty.keypassword=000000 # 制作证书的密码
jetty.truststore=/usr/local/azkaban/server/keystore # 证书地址[要使用绝对路径]
jetty.trustpassword=000000 # 制作证书的密码
executor.port=12321
mail.sender=
mail.host=
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache

可以配置smtp邮箱,可以发邮件

2.6 启动¶

  • 启动web服务器

  • 启动执行服务器

cd /usr/local/azkaban/executor/bin/
./azkaban-executor-start.sh

  • 查询

[root@master bin]# jps
37828 ResourceManager
109029 Jps
37670 SecondaryNameNode
37481 NameNode
26334 Master
68879 QuorumPeerMain
99967 AzkabanExecutorServer
100126 AzkabanWebServer

注意启动顺序

2.7 登录¶

  启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://服务器IP地址:8443,即可访问azkaban服务了。在登录中输入刚才新的户用名及密码,点击 login。

图片.png

图片.png

原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/4225.html

发表评论

登录后才能评论