CentOS6.7下Azkaban的安装
Azkaban 介绍
Azkaban 是由 Linkedin 公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。 Azkaban 使用 job 配置文件建立任务之间的依赖关系,并提供一个易于使用的 web 用户界面维护和跟踪你的工作流。它有如下特点:
- 提供功能清晰,简单易用的 Web UI 界面;
- 提供 job 配置文件快速建立任务和任务之间的依赖关系;
- 提供模块化和可插拔的插件机制,原生支持 command、Java、Hive、Pig、Hadoop;
- 基于 Java 开发,代码结构清晰,易于二次开发
Azkaban 安装部署
准备工作
安装环境centos6.7x64 (需要配置好服务器节点上的时区)
预先安装好MySQL (默认已安装好 mysql 服务)
Azkaban Web 服务器: azkaban-web-server-2.5.0.tar.gz
Azkaban 执行服务器: azkaban-executor-server-2.5.0.tar.gz
sql脚本: azkaban-sql-script-2.5.0.tar.gz
(下载地址: https://azkaban.github.io/downloads.html)
开始安装
上传并解压压缩包
azkaban-web-server-2.5.0.tar.gz
azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
tar zxvf azkaban-*
在/usr/local下创建目录azkaban
mkdir -p /usr/local/azkaban
移动之前解压好的文件到/usr/local/azkaban(这里为了方便进行了重名命)
mv azkaban-web-server-2.5.0 /usr/local/azkaban/webserver
mv azkaban-executor-server-2.5.0 /usr/local/azkaban/executorserver
mv azkaban-sql-script-2.5.0 /usr/local/azkaban/sqlscript
执行sql脚本
进入mysql服务
mysql -u用户名 -p密码
进入到mysql后创建数据库azkaban并执行sql
create database azkaban;
use azkaban;
source /usr/local/azkaban/sqlscript/create-all-sql-2.5.0.sql;
创建SSL配置(https)
使用命令:
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
运行此命令后,会提示输入当前生成 keystor 的密码及其他信息 (注意:密码一定要记住!)
输入 keystore 密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的州或省份名称是什么?
[Unknown]:
该单位的两字母国家代码是什么
[Unknown]: CN
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正确吗?
[否]: y
输入<jetty>的主密码
(如果和 keystore 密码相同,按回车):
再次输入新密码:
完成上述操作后会在当前目录下生成keystore证书文件, 需要将它拷贝到 azkaban web 服务器根目录下
cp keystore /usr/local/azkaban/webserver
修改配置文件
azkaban web 服务器配置文件修改
-
/usr/local/azkaban/webserver目录下的 azkaban.properties 文件
vi /usr/local/azkaban/webserver/conf/azkaban.properties
修改时区:
default.timezone.id=Asia/Shanghai
修改数据库相关:
database.type=mysql #数据库类型 mysql.port=3306 #端口号 mysql.host=localhost #数据库连接 IP mysql.database=azkaban #数据库实例名 mysql.user=root #数据库用户名 mysql.password=1234 #数据库密码 mysql.numconnections=100 #最大连接数
修改Jetty 服务器属性(密码为之前SSL配置时设置的密码)
jetty.port=8081 #Jetty 端口 jetty.keystore=keystore #SSL 文件名 jetty.password=密码 #SSL 文件密码 jetty.keypassword=密码 #Jetty 主密码 与 keystore 文件相同 jetty.truststore=keystore #SSL 文件名 jetty.trustpassword=密码 # SSL 文件密码
-
修改用户配置
vi /usr/local/azkaban/webserver/conf/azkaban-users.xml
在标签内增加管理员用户:
<user username="admin" password="admin" roles="admin,metrics" />
azkaban 执行服务器配置
-
修改执行服务器安装目录 /usr/local/azkaban/executorserver/conf下的azkaban.properties文件
vi /usr/local/azkaban/webserver/conf/azkaban-users.xml
修改时区:
default.timezone.id=Asia/Shanghai
修改数据库配置:
mysql.database=azkaban #数据库实例名 mysql.user=用户名 #数据库用户名 mysql.password=密码 #数据库密码
启动
启动web 服务器
在 azkaban web 服务器目录webserver下执行启动命令
bin/azkaban-web-start.sh
注意:在 web 服务器根目录运行,因为这个目录下有相关需要的conf文件
启动执行服务器
在执行服务器executorserver目录下执行启动命令
bin/azkaban-executor-start.sh
注:只能要执行服务器根目录运行
登录web管理平台
使用浏览器输入:
https://服务器IP:8443
进入后会有一个https 的安全认证, 点击高级 --> 允许
用户名和密码使用刚才配置的用户名和密码(admin,admin)