Azkaban安装部署&邮箱配置详细教程

一、环境信息

        系统:centos7+

        mysql:5.7+

        azkaban:3.77.0

        安装方式:编译安装

二、介绍

        Azkaban是LinkedIn开源的任务调度框架,用于调度任务,常用于大数据离线任务调度。

        例如:每天晚上1:00定时执行ELT任务。

三、架构分析

Relational Database:存储元数据,如项目名称、项目描述、项目权限、任务状态、SLA规则等。
AzkabanWebServer:项目管理、权限授权、任务调度、监控executor。
AzkabanExecutorServer:作业流执行的Server。

四、三种部署模式

1、solo-server模式
        DB使用的是一个内嵌的H2,Web Server和Executor Server运行在同一个进程里。这种模式包含Azkaban的所有特性,但一般用来学习和测试。
2、two-server模式
        DB使用的是MySQL,MySQL支持master-slave架构,Web Server和Executor Server运行在不同的进程中。
3、分布式multiple-executor模式
        DB使用的是MySQL,MySQL支持master-slave架构,Web Server和Executor Server运行在不同机器上,且有多个Executor Server。

五、安装部署:two-server模式

1、环境准备

[bigdata@iz2zeb29lcl6hzf8nk3pppz ~]# sudo yum install -y git gcc-c++*

2、源码&解压

        2.1创建目录

[bigdata@iz2zeb29lcl6hzf8nk3pppz ~]# sudo mkdir /home/test
[bigdata@iz2zeb29lcl6hzf8nk3pppz ~]# sudo chown -R bigdata:bigdata /home/test
[bigdata@iz2zeb29lcl6hzf8nk3pppz ~]# cd /home/test

        2.2下载&解压

# 下载源码
[bigdata@iz2zeb29lcl6hzf8nk3pppz test]# wget https://github.com/azkaban/azkaban/archive/3.77.0.tar.gz
# 重命名
[bigdata@iz2zeb29lcl6hzf8nk3pppz test]# mv 3.77.0.tar.gz azkaban-3.77.0.tar.gz
# 解压
[bigdata@iz2zeb29lcl6hzf8nk3pppz test]# tar -zxvf azkaban-3.77.0.tar.gz
# 查看
[bigdata@iz2zeb29lcl6hzf8nk3pppz test]# ll

   

        2.3修改源码:

        原因:Azkaban发送邮件默认使用的是STMP 25端口,但是阿里云服务器25端口是被禁用的,所以需要将25端口换到465端口 采用smtps协议传输邮件(25端口是非SSl协议传输)

#进入修改目录
[bigdata@iz2zeb29lcl6hzf8nk3pppz test]$ cd /home/test/azkaban-3.77.0/azkaban-common/src/main/java/azkaban/utils/

#修改EmailMessage.java文件
[bigdata@iz2zeb29lcl6hzf8nk3pppz utils]$ vim EmailMessage.java


##############1##################
import java.security.Security;
##############2##################
#在sendEmail()方法里props的配置代码下加入以下几行代码:
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.socketFactory.port", "465");

      

        2.4编译

# 加速编译,下载
[bigdata@iz2zeb29lcl6hzf8nk3pppz test]$  cd azkaban-3.77.0
#Gradle是一个基于Apache Ant和Apache Maven的项目自动化构建工具。-x test 跳过测试
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$  ./gradlew build installDist -x test 

#查看编译结果
#solo-server模式安装包
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ ll azkaban-solo-server/build/distributions/
total 46892
-rw-rw-r-- 1 bigdata bigdata 23941115 Aug 12 13:58 azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
-rw-rw-r-- 1 bigdata bigdata 24074060 Aug 12 13:58 azkaban-solo-server-0.1.0-SNAPSHOT.zip

#two-server模式和multiple-executor模式web-server安装包
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ ll azkaban-web-server/build/distributions/
total 39320
-rw-rw-r-- 1 bigdata bigdata 20070042 Aug 12 13:58 azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
-rw-rw-r-- 1 bigdata bigdata 20190642 Aug 12 13:58 azkaban-web-server-0.1.0-SNAPSHOT.zip

#two-server模式和multiple-executor模式exec-server安装包
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ ll azkaban-exec-server/build/distributions/
total 30924
-rw-rw-r-- 1 bigdata bigdata 15828789 Aug 12 13:58 azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
-rw-rw-r-- 1 bigdata bigdata 15834237 Aug 12 13:58 azkaban-exec-server-0.1.0-SNAPSHOT.zip

       2.4解压安装包

#可以见一个文件夹code,将代码放进去
#复制安装包到azkaban-3.77.0
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ cp code/azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz ./
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ cp code/azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz ./
#解压文件
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz

        2.4在mysql创建数据库:

# 创建数据库
mysql> create database azkaban;
mysql> use azkaban;

#创建用户&授权
mysql> CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;

#插入executor节点
mysql> insert into executors (host,port,active) values ('hadoop01','12321',1);
mysql> insert into executors (host,port,active) values ('hadoop02','12321',1);

#执行创建脚本
mysql> source /home/test/azkaban-3.77.0/azkaban-db/build/install/azkaban-db/create-all-sql-0.1.0-SNAPSHOT.sql

        2.5配置web-server文件

[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ vim azkaban-exec-server-0.1.0-SNAPSHOT/conf/azkaban.properties
#修改时区
default.timezone.id=Asia/Shanghai

# 配置邮件服务[我的是阿里云企业邮箱,不同邮箱的mail.host不同,自行百度]
mail.sender=xxx
mail.host=smtp.qiye.aliyun.com
mail.security=ssl
mail.port=465
mail.user=xxx
mail.password=xxx


# 配置mysql
database.type=mysql
mysql.port=3306
mysql.host=hadoop01
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100

        2.6配置executor-server文件

[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ vim azkaban-exec-server-0.1.0-SNAPSHOT/conf/azkaban.properties
#修改时区
default.timezone.id=Asia/Shanghai

# 配置邮件服务[我的是阿里云企业邮箱,不同邮箱的mail.host不同,自行百度]
mail.sender=xxx
mail.host=smtp.qiye.aliyun.com
mail.security=ssl
mail.port=465
mail.user=xxx
mail.password=xxx


# 配置mysql
database.type=mysql
mysql.port=3306
mysql.host=hadoop01
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100


########注意########
# 如果没有executor.port,记得添加配置
executor.port=12321

        2.7 启动

# 启动exec
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ cd /home/test/azkaban-3.77.0/azkaban-exec-server-0.1.0-SNAPSHOT/
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-exec-server-0.1.0-SNAPSHOT]$ bin/start-exec.sh

# 执行这个语句很重要
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-exec-server-0.1.0-SNAPSHOT]$ curl http://hadoop01:12321/executor?action=activate

# 启动web
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-exec-server-0.1.0-SNAPSHOT]$ cd /home/install/azkaban-3.77.0/azkaban-web-server-0.1.0-SNAPSHOT/
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-web-server-0.1.0-SNAPSHOT]$ bin/start-web.sh
 

        2.8 浏览器输入 hadoop01:8081,出现下图表示部署成功。

         2.9:账户密码

# 账户密码
[bigdata@iz2zeb29lcl6hzf8nk3pppz azkaban-3.77.0]$ cat /home/install/azkaban-3.77.0/azkaban-web-server-0.1.0-SNAPSHOT/conf/azkaban-users.xml

六、最后:自己创建个任务赶紧试试吧!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值