前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Azkaban Two Server模式部署

Azkaban Two Server模式部署

作者头像
云飞扬
发布2022-01-05 15:35:32
6120
发布2022-01-05 15:35:32
举报
文章被收录于专栏:星汉技术星汉技术

Azkaban Two Server模式部署

Two Server模式就是把Azkaban和MySQL进行了分离,下面就介绍一下这种部署模式。

1、准备工作

1.结点规划

node1:azkaban-web、azkaban-exec

node2:MySQL

这里本人将azkaban的相关服务放置到一台服务器中,将MySQL放置到另外一台服务器中。

2.服务器准备

两台服务器,服务器系统这里选择的是CentOS7。一台称之为node1、另外一台称之为node2。

  • 主机名称修改:根据自己的需求修改。
  • 添加主机名解析:
  • 免密登录:为了避免麻烦的操作,这里本人配置了免密登录。主机中如果安装了hadoop等大数据相关的软件,那么肯定已经配置过了。
  • 两台服务器都安装jdk,jdk版本1.8以上。
  • 编译源码,参见:Azkaban源码编译,此处使用的是Azkaban-3.66.0版本。
  • node2中安装MySQL,此处忽略安装MySQL的过程。详情参见:Linux中安装MySQL

2、MySQL相关操作

1.拷贝建表文件

在node2上创建一个放置建表文件的目录:

到编译的目录中,将编译好的文件远程拷贝到目标主机:

到node2上解压文件

以上为解压出来的文件,这里需要使用的就是红框框起来的sql文件。

2.建库

在存放建表语句文件的目录下登录MySQL,如果不在此目录的话,建表文件使用非常麻烦。

本人的数据库中已经有一个azkaban的数据库在使用了,这里本人创建了一个新的数据库,以azkaban的版本号结尾,数据库的名字可按需创建。

3.创建用户

这一步可以省略,你可以使用原有的root账户进行数据库的操作。

前一个azkaban是用户名,后一个azkaban是密码。

4.设置权限

给用户赋予权限

5.建表

执行以下文件,进行建表:

如果不是在当前目录下进入MySQL的话,可以使用绝对路径来进行文件导入。

下图为数据库中建立的表:

6.修改字符集

如果如果想要使azkaban在创建项目的时候description支持中文输入,那么这里就需要更改一个表的一个字段的字符集即可。

需要修改的表为projects表。

使用数据库连接工具Navicat for MySQL,连接到库,右键projects表,选择设计表,出现如下图的界面:

选中字段,修改字符集为utf8,然后保存即可。

7.修改上传文件限制

有的时候,会上传的文件过大,超过MySQL接收的默认最大值,这里可以修改一下MySQL的默认最大值。

修改完成之后,重启数据库。

3、拷贝文件

将编译好的文件拷贝到node2中规划的目录里去:

解压之后,web下的文件夹列表如下:

exec下的文件夹列表如下:

官方网站上提示:

  • web解压之后有如下几个目录:bin、conf、lib、web
  • exec解压之后有如下几个目录:bin、conf、lib、extlib、plugins

所以现在只有exec目录下少了一个文件。

4、配置exec

官方的文档顺序,是先配置的exec,这里也先从exec开始配置。

进入exec的conf目录中,可以看到有如下三个个文件:

其中global.properties是一个空的文件。

1.azkaban.properties

编辑此文件,命令如下:

文件的原始内容,如下图:

由官方文档得知,exec可以配置两大项内容:

  • 第一项是执行器服务器属性。
  • 第二项是MySQL连接属性。

下面开始配置,可将原来的文件中,不需要的属性注释掉,或者将原始文件改名复制一份,再进行修改。

2.log4j.properties

打开此文件,文件中已经配置好了

3.启动

在exec的home目录下执行以下目录,启动exec服务:

启动之后,home目录下的文件变为如下:

4.激活执行器

激活执行器有一个明显的地方可以看到,在数据库中executors表中,你可以查看当前服务器的active字段,没有激活的时候是0,激活之后是1。

如果不激活,那么在启动web的时候执行任务会报出找不到执行器的错误。

启动exec服务器之后,在exec服务器的home目录中立即执行如下命令,激活执行器:

如下图:

经过后续的测试发现,每次重启exec服务器,都需要激活。

5、配置Web

1.生成keystore文件

进入web的目录,执行如下命令:

此命令是固定的,不需要更改什么。如下是执行过程:

此时在看web目录之下,多了一个keystore文件。

如果是在别的目录之下进行的这个命令操作,在相应的目录下会有这个文件,只要将这个文件拷贝到web目录下即可。

2.azkaban.properties

此文件在conf目录下:

由上图可以看到,conf目录下存在四个文件。

如下图,为原始的azkaban.properties文件中的内容:

下面进行内容修改:

在web的home目录下创建文件plugins/jobtypes,命令如下:

3.azkaban-users.xml

添加azkaban的用户,在此文件中操作,文件原始内容如下图:

如果要添加用户,就按照<user/>的格式添加即可。

4.log4j.properties

此文件和exec中的内容是一样的。

6、web配置的坑

1.第一坑

  • web.resource.dir项的值要使用绝对路径,否则web页面会没有美丽的界面。
  • user.manager.xml.file项的值要使用绝对路径,否则启动的时候会报找不到文件的错误。

2.第二坑:邮箱预警的坑

mail.sender、mail.host、mail.user、mail.password这四项每一项配置都不能少,端口可以不配置,而且mail.sender和mail.user的值是一样的,少一项或者配错一项都会报出错误,错误信息如下:

在网上看到一个说这个错误信息解决方法的,要改源码,其实是配置信息写错了。

3.第三坑

azkaban.jobtype.plugin.dir=plugins/jobtypes这一项一定要配置,并且创建文件夹,不然会报错,错误信息如下:

4.第四坑

Multiple Executor的几项必须配置,不然的话会报出以下错误:

5.第五坑:CDH集成

如果使用的是CDH平台安装的hadoop相关的软件,那么在启动Azkaban的时候日志第一行会出现如下的错误信息:

这个错误不影响Azkaban正常的执行hadoop相关的脚本。

这是因为CDH平台集成的Hadoop没有在profile中添加环境变量,这里需要在profile文件中添加两个环境变量。操作如下:

要添加的内容如下:

添加完成source,让文件生效。

以上两条变量的值是CDH的目录,填写的时候,查看一下,自己的CDH安装是否是这两个目录,如果不是,值要根据自己的目录进行修改。

然后重启Azkaban web,日志中的错误消失,取代是如下内容:

7、启动web

启动命令如下:

8、登录检测

在浏览器中输入:ip:8443,会出现如下图的登录界面:

由上图可以看出,红块的地方是填写的azkaban.name和azkaban.labe两项的值,这里本人打了码,配置完成你们即可看到自己的成果。

9、job测试

以下是本人准备的一个简答的脚本的job文件,weather.job:

上面两项邮箱相关的,一项是执行成功发送邮件,一项是执行失败发送邮件。邮箱自行填写。如果这里不填写邮箱,那么就不会给你发送执行结果。

将文件打成zip的压缩包上传到测试项目中,选择执行。

执行成功,也有邮件发送。

以上为整个Two Server模式配置的整个过程和踩过的坑。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/12/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Azkaban Two Server模式部署
    • 1、准备工作
      • 1.结点规划
      • 2.服务器准备
    • 2、MySQL相关操作
      • 1.拷贝建表文件
      • 2.建库
      • 3.创建用户
      • 5.建表
      • 6.修改字符集
      • 7.修改上传文件限制
    • 3、拷贝文件
      • 4、配置exec
        • 1.azkaban.properties
        • 2.log4j.properties
        • 3.启动
        • 4.激活执行器
      • 5、配置Web
        • 1.生成keystore文件
        • 2.azkaban.properties
        • 3.azkaban-users.xml
        • 4.log4j.properties
      • 6、web配置的坑
        • 1.第一坑
        • 2.第二坑:邮箱预警的坑
        • 3.第三坑
        • 4.第四坑
        • 5.第五坑:CDH集成
      • 7、启动web
        • 8、登录检测
          • 9、job测试
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档