实战如何玩转azkaban(安装及使用)

4 篇文章 0 订阅
1 篇文章 0 订阅

一、azkaban是什么

Azkaban是一个批处理工作流作业调度程序,在LinkedIn上创建,用于运行Hadoop作业。Azkaban通过作业依赖项解决排序问题,并提供一个易于使用的web用户界面来维护和跟踪工作流。

二、oozie和azkaban的比较:

1、共同优点:

都提供优美的可视化操作界面,工具实现托拉拽

2、oozie和azkaban的区别:

oozie:
	权限控制不好  没有
	重 配置比较繁琐的
	调度机制比较完善的 
	配置  xml
	支持高可用
azkaban:
	有完善的权限控制 
	相对来说  轻
	调度机制没有oozie完善的  90% 
	配置  properties
	azkaban 3.0之前   不支持高可用的  3.0之后的版本支持的

三、常用的调度机制:

基于时间定时
基于时间间隔
基于事件驱动

四、azkaban的安装

4.1安装准备:

azkaban:能够调度的任务类型  shell jar war hive  sqoop mapreduce spark ...
保证需要调度的任务类型的环境都是正常的
hadoop 
jdk 
sqoop 
hive 

4.2安装版本:

2.5 

4.3安装节点:

安装一个节点 
这个节点 可以访问  hive hadoop  sqoop的客户端的
hadoop03 节点 

4.4安装步骤:

azkaban-executor… azkaban的核心驱动包 驱动任务执行的
azkaban-web… 优美界面 便于用户操作的 配置任务 新建任务 添加任务的依赖关系
azkaban-sql… azkaban的sql脚本 创建关系型数据库对应的表和库的

1)上传
2)解压
tar -xvzf azkaban-executor-server-2.5.0.tar.gz
tar -xvzf azkaban-web-server-2.5.0.tar.gz
tar -xvzf azkaban-sql-script-2.5.0.tar.gz

3)配置环境变量
export AZKABAN_WEB=/home/hadoop/apps/azkaban/azkaban-web-2.5.0
export AZKABAN_EXE=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0
export PATH= P A T H : PATH: PATH:AZKABAN_WEB/bin:$AZKABAN_EXE/bin

source /etc/profile

4)生成数字校验证书
jetty 验证的
命令:在哪一个目录 在哪一个目录生成数字证书 当前目录下生成的
keytool -keystore keystore -alias jetty -genkey -keyalg RSA

切换到 azkaban-web-2.5.0 目录下
执行上面的命令

5)检查时区
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

6)准备azkaban 调度的关系型数据库中的表
在mysql中 执行 azkaban中的sql脚本

创建一个azkaban数据 库
create database azkaban;
切换数据库
use azkaban;
执行sql脚本
source /home/hadoop/apps/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;

7)修改azkaban的配置文件
1–》executor的相关配置文件
/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf
azkaban.properties

#Azkaban
default.timezone.id=Asia/Shanghai

#Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/plugins/jobtypes

#Loader for projects
executor.global.properties=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=/home/hadoop/projects

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

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

2–》web的相关配置文件
/home/hadoop/apps/azkaban/azkaban-web-2.5.0/conf
azkaban.properties
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/web/
default.timezone.id=Asia/Shanghai

#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/conf/azkaban-users.xml

#Loader for projects
executor.global.properties=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=/home/hadoop/projects

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

#Velocity dev mode
velocity.dev.mode=false

#Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/keystore
jetty.password=hadoop123
jetty.keypassword=hadoop123
jetty.truststore=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/keystore
jetty.trustpassword=hadoop123

#Azkaban Executor settings
executor.port=12321

#mail settings
mail.sender=
mail.host=
job.failure.email=
job.success.email=

lockdown.create.projects=false

cache.directory=cache

azkaban-users.xml



    <role name="admin" permissions="ADMIN" />
    <role name="metrics" permissions="METRICS"/>

8)启动azkaban
azkaban-executor-start.sh
azkaban-web-start.sh

报错:
Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40 缺少derby依赖

将derby.jar 拷贝到 azkaban-executor-2.5.0/lib azkaban-web-2.5.0/lib
cd /home/hadoop/apps/jdk1.8.0_73/db/lib
cp derby.jar /home/hadoop/apps/azkaban/azkaban-executor-2.5.0/lib/
cp derby.jar /home/hadoop/apps/azkaban/azkaban-web-2.5.0/lib/
9)页面访问
https://hadoop03:8443

添加任务 本地写好
调度任务 .job结尾的文件
#command.job
type=command
command= echo “hello”

任务上传的时候必须打成zip的包,job文件必须在zip的根目录下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值