本文作者:林伟兵,叩丁狼高级讲师。原创文章,转载请注明出处。
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;
生成秘钥文件:
打开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,我们可以在这个文件中配置密码:
在本机的 /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页面:
将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项目。
创建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)。重新执行任务才会成功。
想获取更多技术视频,请前往叩丁狼官网:http://www.wolfcode.cn/openClassWeb_listDetail.html