Azkaban工作流管理入门

Azkaban概述

Azkaban是一个分布式工作流管理器,在LinkedIn上实现,以解决Hadoop作业依赖性问题,我们有需要按顺序运行的工作,从ETL工作到数据分析产品。

特点:
1)给用户提供了一个非常友好的可视化界面  
2)非常方便的上传工作流  -》打成压缩包jar包
3)设置任务间的关系
4)权限设置 
5)模块化  
6)随时停止和启动任务 
7)可以查看日志记录
8)

与Oozie对比

和Oozie相对比,azkaban是一个轻量级调度工具。
企业应用的功能并非小众的功能可以使用azkaban。

1)功能
两个任务调度器可以调度使用mr,java,脚本工作流任务
都可以进行定时调度...

2)使用 
az直接传参
Oozie直接传参,支持EL表达式...

3)定时
az定时执行任务基于时间
Oozie任务基于时间和数据

4)资源
az有严格的权限控制
Oozie无严格的权限控制

Azkaban安装部署

准备工作
1)快照
2)上传安装包
azkaban-web-server-2.5.0.tar	
azkaban-executor-server-2.5.0.tar
azkaban-sql-script-2.5.0.tar
mysql-libs
3)解压重命名
4)mysql中azkaban脚本导入,在	azkaban-sql-script-2.5.0.tar压缩文件中。
source /root/hd/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql

安装部署  

1)创建SSL安全连接配置
因为最后访问azkaban的web可视化界面用的https请求,所以需要一个ssl证书,最好在服务端文件夹下生成,不然启动服务端时会报异常keystore找不到
/root/hd/azkaban/azkaban-web-server2.5.0/

keytool -keystore keystore -alias jetty -genkey -keyalg RSA

2)时间同步
生成时区文件

tzselect 生成
5-》9-》1-》yes

拷贝时区文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

集群时间同步
crt中开启交互窗口View->Command Window 右键选择发送到全部session
sudo date -s '2019-01-28 03:21:41'

3)修改配置文件

/root/hd/azkaban/azkaban-web-server2.5.0/conf/azkaban.properties

#Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
#azkaban的UI颜色
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
#时区设置,很重要,亚洲/上海
default.timezone.id=Asia/Shanghai

#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=conf/azkaban-users.xml

#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

database.type=mysql
mysql.port=3306
mysql.host=localhost
#mysql的数据库
mysql.database=azkaban
#mysql的用户名 密码
mysql.user=root
mysql.password=root
mysql.numconnections=100

# Velocity dev mode
velocity.dev.mode=false

# Azkaban Jetty server properties.
#keytool 创建的jetty证书
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore
#创建证书输入的密码
jetty.password=123456
jetty.keypassword=123456
jetty.truststore=keystore
jetty.trustpassword=123456

# Azkaban Executor settings
executor.port=12321

# mail settings
#任务执行失败或成功通知的邮箱
mail.sender=tony
mail.host=smtp.qq.com
[email protected]
[email protected]

lockdown.create.projects=false

cache.directory=cache

/root/hd/azkaban/azkaban-web-server2.5.0/conf/azkaban-users.xml


    
    
    
    
    

/root/hd/azkaban/azkaban-executor-2.5.0/conf/azkaban.properties

#Azkaban
default.timezone.id=Asia/Shanghai

# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes

#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=100

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

4)启动web端服务器
bin/azkaban-web-start.sh

5)启动执行器
bin/azkaban-executor-start.sh

6)访问web
https://192.168.252.121:8443

你可能感兴趣的:(大数据,大数据开发入门)