Azkaban

1、Azkaban

官网:https://azkaban.github.io/
Azkaban是一款开源工作流管理器

Azkaban是在LinkedIn上创建的批处理工作流作业调度程序,用于运行Hadoop作业

Azkaban通过作业依赖性解决订单,并提供易于使用的Web用户界面来维护和跟踪您的工作流程

工作流作业:
flume->hdfs->mr->hive建表->导入load data脚本
自动化调度

2、Azkaban安装部署

1)解压
首先将压缩包放进/root/hd/azkaban里面
azkaban-executor-server-2.5.0.tar.gz –>executor
azkaban-sql-script-2.5.0.tar.gz –>azkaban-2.5.0
azkaban-web-server-2.5.0.tar.gz –>server
tar -zxvf *.tar.gz

2)进入mysql创建azkaban库,然后将解压好的脚本导入
create database azkaban;
use azkaban;
source /root/hd/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;

3)生成证书(https生成器)
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
(回车,不用填,到那个CN=Unknown那行下面有个判断,输入y,后面一行继续回车)
将keystore移动到server文件夹下

4)时间同步配置
任务调度,所以和本地时间保持一致
开启交互窗口:
sudo date -s ”
hwclock -w

5)修改server端配置文件
cd /root/hd/azkaban/server/conf
vi azkaban.properties


 
 
# Azkaban Personalization Settings
azkaban. name=Test
azkaban. label=My Local Azkaban
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
# azkaban目前只支持mysql
database. type=mysql
mysql. port=3306
# 当前主机名
mysql. host=hsiehchou121
mysql. database=azkaban
mysql. user=root
mysql. password=root
# 最大连接数
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=keystore
jetty. password=123456
jetty. keypassword=123456
jetty. truststore=keystore
jetty. trustpassword=123456
# Azkaban Executor settings
executor. port=12321
# mail settings
mail. sender=@qq.com
mail. host=smtp.qq.com
job.failure. email=
job.success. email=
lockdown.create. projects=false
cache. directory=cache

azkaban-users.xml


 
 
<azkaban-users>
<user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
<user username="metrics" password="metrics" roles="metrics"/>
<!--增加这一行 role管理员权限:admin-->
<user username="admin" password="admin" roles="admin,metrics"/>
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
</azkaban-users>

6)修改excutor端配置文件
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=hsiehchou121
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
3、azkaban实战

hdfs->hive建表->导入

1)job1.job


 
 
type= command
command= echo 'Hello World!'

打包成zip包上传到azkaban,执行

2)job2(a.job和b.job)
a.job


 
 
type= command
command= echo 'li'

b.job


 
 
type=command
dependencies=a
command=echo '666'

打包成zip包上传到azkaban,执行

3)startyarn.job


 
 
type=command
command=/root/hd/hadoop- 2.8. 4/sbin/start-yarn.sh

打包成zip包上传到azkaban,执行

4)mapreduce.job


 
 
type=command
command= /root/hd /hadoop-2.8.4/bin /hadoop jar hadoop-mapreduce-examples-2.8.4.jar wordcount /wc /wc/ out

打包成zip包上传到azkaban,执行

5)hive操作
hive.sql


 
 
use default;
create table azhive( id int, name string) row format delimited fields terminated by '\t';
load data inpath '/hsiehchou.txt' into table azhive;

hivef.job


 
 
type= command
command=/root/hd/hive/bin/hive -f 'hive.sql'

打包成zip包上传到azkaban,执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hsiehchou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值