Azkaban的安装

作者:林伟兵 ,叩丁狼高级讲师。本文为原创文章,转载请注明出处。  

4. Azkaban-solo-server安装

在上一节的讲解中,我们已经完成Azkaban各个模块的编译。如下:

$AZKABAN_SOURCE_HOME/azkaban-solo-server/build/distributions/*.tar.gz(zip)
$AZKABAN_SOURCE_HOME/azkaban-web-server/build/distributions/*.tar.gz(zip)
$AZKABAN_SOURCE_HOME/azkaban-executor-server/build/distributions/*.tar.gz(zip)

将其对应包下的.tar.gz文件拷贝到独立的文件夹下(该文件夹用来安装 Azkaban)并解压,并且不要忘记拷贝azkaban-db/build/distributions/xxx.sql文件(这是一个数据库初始化的脚本文件) :

[root@azkabanvm packages]# ll
total 58276
drwxr-xr-x. 6 root root     4096 Sep 29 01:24 azkaban-exec-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 15767192 Sep 29 01:24 azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
drwxr-xr-x. 8 root root     4096 Sep 29 01:25 azkaban-solo-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 23876418 Sep 29 01:25 azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
drwxr-xr-x. 6 root root     4096 Sep 29 01:25 azkaban-web-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 20009922 Sep 29 01:25 azkaban-web-server-0.1.0-SNAPSHOT.tar.gz

初始化MySQL,这里直接贴出最简单的安装方式:

yum install -y mysql-server
yum install -y mysql
service mysqld start

mysql> mysql -u root -p
mysql> ##第一次安装没有密码  直接按Enter键  然后修改当前密码
mysql> set password for 'root'@'localhost' = password('root') ;

mysql> grant all privileges on *.* to [email protected] identified by 'root';
mysql> FLUSH PRIVILEGES;

mysql> create database azkaban;

将sql文件导入到azkaban数据库中:

mysql> use azkaban;
mysql> source /usr/local/azkaban/packages/create-all-sql-0.1.0-SNAPSHOT.sql;

mysql> show tables;

生成秘钥文件:

image.png

打开azkaban-solo-server-0.1.0-SNAPSHOT/conf/azkaban.properties文件(这里主要配置的是数据库驱动和证书认证):

default.timezone.id=Asia/Shanghai

database.type=mysql
mysql.port=3306
## 这里最好配置IP地址
mysql.host=192.168.66.170
mysql.database=azkaban
mysql.user=root
mysql.password=sql_9879
mysql.numconnections=100

jetty.use.ssl=true
jetty.maxThreads=25
jetty.ssl.port=8666
jetty.port=8081
#注意这里要统一配置好keystore文件存储的路径
jetty.keystore=.../keystore
jetty.password=000000
jetty.keypassword=000000
#注意这里要统一配置好keystore文件存储的路径
jetty.truststore=.../keystore
jetty.trustpassword=000000

从azkaban.properties文件内容可以看出还有一个文件是用来管理登录的用户的,那就是azkaban-users.xml,我们可以在这个文件中配置密码:

image.png

在本机的 /etc/hosts 文件中添加本机IP地址的映射:

127.0.0.1 azkabanvm

返回azkaban-solo-server-0.1.0-SNAPSHOT目录,在这个目录下启动solo:

[root@azkabanvm azkaban-solo-server-0.1.0-SNAPSHOT]# bin/start-solo.sh

[root@azkabanvm azkaban-solo-server-0.1.0-SNAPSHOT]# jps
3252 Jps
3227 AzkabanSingleServer

#如果进程没有启动 可以在当前目录下会自动创建启动脚本的日志:
[root@azkabanvm azkaban-solo-server-0.1.0-SNAPSHOT]# cat soloServerLog__2018-09-29+18\:30\:29.out

注意:上面的solo-server会创建一个叫AzkabanSingleServer的进程,并在启动一会之后主动退出,这个操作可以用来检查我们的配置文件是否正确。而我们真正要启动的是一个Executor 进程和 Web进程。

5. web/executor-server 安装

将solo-server下的azkaban.properties文件和azkaban-users.xml文件拷贝到web/conf 文件夹下。

启动web服务:

[root@azkabanvm azkaban-web-server-0.1.0-SNAPSHOT]# bin/start-web.sh
[root@azkabanvm azkaban-web-server-0.1.0-SNAPSHOT]# jps
3744 Jps
3336 AzkabanWebServer

从启动的日志文件中我们也可以看到启动的端口,注意这里一定要保证防火墙是关闭的:

[root@azkabanvm azkaban-web-server-0.1.0-SNAPSHOT]# service iptables stop

在网页端访问ssl页面:

image.png

将solo-server下的azkaban.properties文件和azkaban-users.xml文件拷贝到executor/conf 文件夹下。

进入executor文件夹,启动executor进程:

[root@azkabanvm azkaban-exec-server-0.1.0-SNAPSHOT]# bin/start-exec.sh 
[root@azkabanvm azkaban-exec-server-0.1.0-SNAPSHOT]# jps
3634 Jps
3607 AzkabanExecutorServer
3336 AzkabanWebServer

6. 测试第一个Job

登录页面后,创建一个Job项目。

image.png

创建command.job文件,内容如下,拷贝完成后将其打包成zip文件 上传Job项目中:

#command.job
type=command
command=echo 'hello'

执行项目,发现出现卡顿现象,主要是azkaban要求执行Job必须存在3G的内存空间,如下wiki :

If you don’t need 3GB free memory for some simple shell commands, you can also disable the memory check by setting memCheck.enabled=false in plugins/jobtypes/commonprivate.properties.

按着上面的提示可以修改executor/plugins/jobtypes/commonprivate.properties文件,将memCheck.enabled=false

此时需要重启整个服务(包括web和executor)。重新执行任务才会成功。

 

猜你喜欢

转载自blog.csdn.net/wolfcode_cn/article/details/83145053