azkaban安装

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

Azkaban介绍

Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

它有如下功能特点:
- Web用户界面
- 方便上传工作流
- 方便设置任务之间的关系
- 调度工作流
- 认证/授权(权限的工作)
- 能够杀死并重新启动工作流
- 模块化和可插拔的插件机制
- 项目工作区
- 工作流和任务的日志记录和审计

azkaban三大组件

  • 关系数据库(MySQL)
  • AzkabanWebServer
  • AzkabanExecutorServer

AzkabanWebServer:暴露restful, 提供分发作业和调度作业的功能;
AzkabanExecutorServer:对WebServer暴露api, 提供执行作业的功能;
MySQL:数据存储, 实现web和exec之间的数据共享和部分状态的同步;

在这里插入图片描述

Azkaban安装

1、下载地址

http://azkaban.github.io/downloads.html

选择需要的版本,进行下载。
Azkaban Web 服务器:azkaban-web-server-3.39.0-8-gdaa627ad.tar.gz
Azkaban Excutor 执行服务器:azkaban-executor-server-3.39.0-8-gdaa627ad.tar.gz
Azkaban 初始化脚本文件:azkaban-sql-script-3.39.0-8-gdaa627ad.tar.gz

2、安装前准备

cd /app
mkdir azkaba-3.39.0

3、安装

1、分别解压web-server、executor-server

# 解压web-server:
tar -xzvf azkaban-web-server-3.39.0-8-gdaa627ad.tar.gz -C /app/azkaba-3.39.0/webServer

# 解压executor-server:
tar -xzvf azkaban-executor-server-3.39.0-8-gdaa627ad.tar.gz -C /app/azkaba-3.39.0/executorServer

# 解压sql-script:
tar -xzvf azkaban-sql-script-3.39.0-8-gdaa627ad.tar.gz  -C /app/azkaba-3.39.0/sqlScript

2、初始化脚本

在使用的数据库中,创建数据库azkaban
将sqlScript中的azkaban.sql导入到azkaban 库中

在这里插入图片描述
在MySQL中执行脚本create-all-sql-***.sql(在MySQL所在的服务器上执行)

mysql> create database azkaban;
Query OK, 1 row affected (0.01 sec)
mysql> use azkaban;
Database changed
mysql> source /app/azkaba-3.39.0/sqlScript/create-all-sql-***.sql

4、配置ssl认证

最好是在 /app/azkaban3-39.0 目录下: 执行命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA

[root@root azkaban-3.39.0]$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
输入密钥库口令:  
再次输入新口令: 
您的名字与姓氏是什么?
  [Unknown]:  
您的组织单位名称是什么?
  [Unknown]:  
您的组织名称是什么?
  [Unknown]:  
您所在的城市或区域名称是什么?
  [Unknown]:  
您所在的省/市/自治区名称是什么?
  [Unknown]:  
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN是否正确?
  [否]:  是
输入 <jetty> 的密钥口令
    (如果和密钥库口令相同, 按回车):  
[root@root azkaban-3.39.0]$

在这里插入图片描述
完成上述工作后,将在当前目录生成 keystore 证书文件,将 keystore 拷贝到 azkaban web 服务 器根目录中.如:

mv keystore webServer/

5、配置 execServer

vim /execServer/conf/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
	# Velocity dev mode
	velocity.dev.mode=false
	# Azkaban Jetty server properties.
	jetty.use.ssl=false
	jetty.maxThreads=25
	jetty.port=8081
	# Where the Azkaban web server is located
	azkaban.webserver.url=http://node1:8081
	# mail settings
	mail.sender=
	mail.host=
	# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
	# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
	# when this parameters set then these parameters are used to generate email links.
	# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
	# azkaban.webserver.external_hostname=myazkabanhost.com
	# azkaban.webserver.external_ssl_port=443
	# azkaban.webserver.external_port=8081
	job.failure.email=
	job.success.email=
	lockdown.create.projects=false
	cache.directory=cache
	# JMX stats
	jetty.connector.stats=true
	executor.connector.stats=true
	# Azkaban plugin settings
	azkaban.jobtype.plugin.dir=plugins/jobtypes
	# Azkaban mysql settings by default. Users should configure their own username and password.
	database.type=mysql
	mysql.port=3306
	mysql.host=node1
	mysql.database=azkaban
	mysql.user=azkaban
	mysql.password=azkaban
	mysql.numconnections=100
	# Azkaban Executor settings
	executor.maxThreads=50
	executor.flow.threads=30
	executor.port=12321

6、配置web-server

vim /webServer/conf/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
	 
	database.type=mysql
	mysql.port=3306
	mysql.host=node1
	mysql.database=azkaban
	mysql.user=root
	mysql.password=hadoop
	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=hadoop
	jetty.keypassword=hadoop
	jetty.truststore=keystore
	jetty.trustpassword=hadoop
	 
	# Azkaban Executor settings
	executor.port=12321
	 
	# mail settings
	mail.sender=******@163.com
	mail.host=smtp.163.com
	mail.user=******@163.com
	# 邮箱授权码(不是密码)
	mail.password=*********
	lockdown.create.projects=false
	 
	cache.directory=cache

7、配置user

vim /webServer/conf/azkaban-users.xml
内容:
	<azkaban-users>
	  <user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
	  <user password="metrics" roles="metrics" username="metrics"/>
	  <user password="admin" roles="admin" username="admin"/>
	 
	  <role name="admin" permissions="ADMIN"/>
	  <role name="metrics" permissions="METRICS"/>
	</azkaban-users>

8、启动、激活

1、execServer目录启动executor
	./bin/start-exec.sh

2、激活
	curl -G 'node1:12321/executor?action=activate' && echo
3、webServer目录启动web服务
	./bin/start-web.sh

4、访问:
	http://node1:8081/

验证

打开谷歌或是火狐浏览器输入https://IP:8443,此处测试的地址是https://hadoop3:8443,此时可能会出现以下界面,点击高级
在这里插入图片描述
在这里插入图片描述
此时会跳到登录界面,输入在配置文件azkaban-users.xml,中配置的用户名密码admin/admin,点击登录
在这里插入图片描述
登录成功
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值