azkaban的使用

0.1 webserver的conf中配置

azkaban.properties

# azkaban的个性化设置
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=/opt/module/azkaban/server/web/
default.timezone.id=Asia/Shanghai

# Azkaban 用户管理器类
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/opt/module/azkaban/server/conf/azkaban-users.xml

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

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

# 速度开发模式
velocity.dev.mode=false

# Azkaban Jetty服务器属性
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=/opt/module/azkaban/server/keystore
jetty.password=6194clllr
jetty.keypassword=6194clllr
jetty.truststore=/opt/module/azkaban/server/keystore
jetty.trustpassword=6194clllr

# Azkaban Executor 设置
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

<!--用户名设置-->
<azkaban-users>
	<user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
	<user username="metrics" password="metrics" roles="metrics"/>
	<user username="admin" password="admin" roles="admin,metrics" />	
	<role name="admin" permissions="ADMIN" />
	<role name="metrics" permissions="METRICS"/>
</azkaban-users>

0.2 executor的conf中配置

azkaban.properties

#Azkaban
default.timezone.id=Asia/Shanghai

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

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

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

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

1 azkaban使用

1.1 azkaban的运行指令

azkaban的运行需要将指令编写出**.job**格式的文件,在打包成zip文件,提交到web页面后才可以运行指令

1.1.1 运行shell脚本

# 指定运行方式
type=command
# shell命令,注意使用绝对路径
command=echo 'this is first job'

1.1.2 运行jar文件

# 指定运行方式
type=javaprocess
# jar包全类名
java.class=CreateTestData.CreateTestData
# 指定jar包名字,注意使用绝对路径
classpath=/opt/module/azkaban/lib/*

1.1.3 job之间的并联

注意: 打包到一个zip上传

job1.job

# 指定运行方式
type=command
# shell命令,注意使用绝对路径
command=/opt/module/hadoop-3.1.2/bin/hadoop fs -put /opt/test/word.txt /

job2.job

# 指定运行方式
type=command
# shell命令,注意使用绝对路径
command=/opt/module/hadoop-3.1.2/bin/hadoop jar /opt/module/hadoop-
3.1.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar wordcount /word.txt /out
# 指定先运行的文件,注意没有job后缀,需要多个依赖时,使用 ,(英文逗号)对依赖名相隔开
dependencies=job1		

1.1.4 子流程

在这里插入图片描述

总共需要6个文件

# 文件名:start (独立)
type=command
command=echo "this is start"
# 文件名:1 (独立)
type=command
command=echo "this is 1"
# 文件名:2 (独立)
type=command
command=echo "this is 2"
# 文件名:3 (3子流程中依赖1,2,外依赖Start)
type=command
command=echo "this is 3"
dependencies=1,2
# 文件名:subflow (3的子流程)
type=flow
# 这里注意是 3 的子流程
flow.name=3
# 依赖于start
dependencies=start
# 文件名:4 (依赖3的子流程)
type=command
command=echo "this is 4"
dependencies=subflow

1.2 azkaban的启动

1.2.1 注意先启动executor服务器

在executor服务器目录下执行启动命令

[itstar@bigdata111 executor]$ pwd
/opt/module/azkaban/executor
[itstar@bigdata111 executor]$ bin/azkaban-executor-start.sh

注意:
先执行executor,再执行web,避免Web Server会因为找不到执行器启动失败。

1.2.2 注意后启动web服务器

在azkaban web服务器目录下执行启动命令

[itstar@bigdata111 server]$ pwd
/opt/module/azkaban/server
[itstar@bigdata111 server]$ bin/azkaban-web-start.sh

jps查看进程

[itstar@bigdata111 server]$ jps
3601 AzkabanExecutorServer
5880 Jps
3661 AzkabanWebServer

plus 集群时间同步为网络时间

yum -y install ntp ntpdate
ntpdate ntp1.aliyun.com
hwclock --systohc
date
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值