azkaban官网:
Azkabanhttps://azkaban.github.io/
1 Azkaban介绍
Azkaban是由linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。
Azkaban定义了一种KV文件(properties)格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
2 Azkaban安装部署
单服务模式安装
azkaban 的solo server使用的是一个单节点的模式来进行启动服务的,只需要一个
azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz的安装包即可启动,所有的数据信息都是保存在H2这个azkaban默认的数据当中。
第一步:解压
上传我们的压缩包,然后修改配置文件启动即可
cd /opt/software tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz -C ../module/
第二步:修改两个配置文件
修改时区配置文件
cd /opt/module/azkaban-solo-server-0.1.0-SNAPSHOT/conf vim azkaban.properties
default.timezone.id=Asia/Shanghai
修改commonprivate.properties配置文件
cd /opt/module/azkaban-solo-server-0.1.0-SNAPSHOT/plugins/jobtypes vim commonprivate.properties
execute.as.user=false memCheck.enabled=false #添加此行避免内存检查
第三步:启动solo-server
cd /opt/module/azkaban-solo-server-0.1.0-SNAPSHOT bin/start-solo.sh
第四步:浏览器页面访问
浏览器页面访问
http://hadoop104:8081/
2.1 azkaban两个服务模式安装 2.1.1 所需软件Azkaban Web服务安装包:
azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
Azkaban执行服务安装包:
azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
编译之后的sql脚本:
create-all-sql-0.1.0-SNAPSHOT.sql
C程序文件脚本:
execute-as-user.c程序
2.1.2 数据库准备进入mysql的客户端执行以下命令:
mysql -uroot -p
执行以下命令:
#创建数据库 CREATE DATAbase azkaban; #创建用户 CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban123'; #允许远程登录 GRANT all privileges ON azkaban.* to 'azkaban'@'%' identified by 'azkaban123' WITH GRANT OPTION; flush privileges; use azkaban; source /opt/software/create-all-sql-0.1.0-SNAPSHOT.sql;2.1.3 解压软件安装包
cd /opt/software tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz -C ../module/ cd /opt/module mv azkaban-web-server-0.1.0-SNAPSHOT/ azkaban-web-server-3.51.0
cd /opt/software tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz -C ../module/ cd /opt/module mv azkaban-exec-server-0.1.0-SNAPSHOT/ azkaban-exec-server-3.51.02.1.4 安装SSL安全认证
安装ssl安全认证,允许我们使用https的方式访问我们的azkaban的web服务密码一定要一个个的字母输入,或者粘贴也行
cd /opt/module/azkaban-web-server-3.51.0 keytool -keystore keystore -alias jetty -genkey -keyalg RSA2.1.5 azkaban web server安装
修改azkaban-web-server的配置文件
cd /opt/module/azkaban-web-server-3.51.0/conf vim azkaban.properties
#修改 azkaban.name=Azkaban azkaban.label=My Azkaban #修改 default.timezone.id=Asia/Shanghai #修改 jetty.use.ssl=true #添加 jetty.ssl.port=8443 jetty.keystore=/opt/module/azkaban-web-server-3.51.0/keystore jetty.password=azkaban jetty.keypassword=azkaban jetty.truststore=/opt/module/azkaban-web-server-3.51.0/keystore jetty.trustpassword=azkaban #修改 database.type=mysql mysql.port=3306 mysql.host=hadoop104 mysql.database=azkaban mysql.user=azkaban mysql.password=azkaban mysql.numconnections=100 #注释掉 #azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus #添加 azkaban.activeexecutor.refresh.milisecinterval=10000 azkaban.queueprocessing.enabled=true azkaban.activeexecutor.refresh.flowinterval=10 azkaban.executorinfo.refresh.maxThreads=102.1.6 azkaban executor server 安装
第一步:修改azkaban-exex-server配置文件
修改azkaban-exec-server的配置文件
cd /opt/module/azkaban-exec-server-3.51.0/conf vim azkaban.properties
#修改 azkaban.name=Azkaban azkaban.label=My Azkaban #修改 default.timezone.id=Asia/Shanghai #修改 jetty.use.ssl=true #添加 jetty.keystore=/opt/module/azkaban-web-server-3.51.0/keystore jetty.password=azkaban jetty.keypassword=azkaban jetty.truststore=/opt/module/azkaban-web-server-3.51.0/keystore jetty.trustpassword=azkaban #修改 azkaban.webserver.url=https://hadoop104:8443 #修改 database.type=mysql mysql.port=3306 mysql.host=hadoop104 mysql.database=azkaban mysql.user=azkaban mysql.password=azkaban123 mysql.numconnections=100
第二步:添加插件
将我们编译后的C文件execute-as-user.c上传到这个目录来/opt/module/azkaban-exec-server-3.51.0/plugins/jobtypes
cp /opt/software/execute-as-user.c /opt/module/azkaban-exec-server-3.51.0/plugins/jobtypes/
然后执行以下命令生成execute-as-user
yum -y install gcc-c++ cd /opt/module/azkaban-exec-server-3.51.0/plugins/jobtypes gcc execute-as-user.c -o execute-as-user chown root execute-as-user chmod 6050 execute-as-user
第三步:修改配置文件
修改配置文件
cd /opt/module/azkaban-exec-server-3.47.0/plugins/jobtypes vim commonprivate.properties
#添加 memCheck.enabled=false azkaban.native.lib=/opt/module/azkaban-exec-server-3.51.0/plugins/jobtypes
最终生成如下:
2.1.7 启动服务第一步:启动azkaban exec server
cd /opt/module/azkaban-exec-server-3.51.0 bin/start-exec.sh
第二步:激活我们的exec-server
hadoop104机器任意目录下执行以下命令
curl -G "hadoop104:$(<./executor.port)/executor?action=activate" && echo
第三步:启动azkaban-web-server
cd /opt/module/azkaban-web-server-3.51.0/ bin/start-web.sh
访问地址:
https://hadoop104:8443https://hadoop104:8443
3 azkaban使用 3.1 Command类型单一job创建文本文件,更改名称为mycommand.job,注意后缀.txt一定不要带上,保存为格式为UFT-8 without bom,重要!!!
内容如下:
type=command command=echo 'hello world'
将job资源文件打包成zip文件
创建project并上传压缩包
启动执行job


