如何编译Azkaban插件
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。Fayson的github:https://github.com/fayson/cdhproject提示:代码块部分可以左右滑动查看噢
1.文档编写目的
前面Fayson介绍了《如何编译安装Azkaban服务》,在安装的时候我们再指定配置文件中有配置Web服务和Executor服务的插件路径,说明Azkaban支持自定义插件集成,本篇文章主要介绍如何编译GitHub上最新的Azkaban插件。
- 内容概述
1.配置编译环境
2.安装NodeJS
3.编译插件
- 测试环境
1.Redhat7.2
2.使用root用户操作
3.Azkaban版本为3.43.0
2.配置Ant环境变量
1.下载Ant,地址如下
[root@ip-172-31-21-83 ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.10.2-bin.tar.gz
(可左右滑动)
2.将下载的apache-ant-1.10.2-bin.tar.gz压缩包解压,并部署到/usr/local目录下
[root@ip-172-31-21-83 ~]# tar -zxvf apache-ant-1.10.2-bin.tar.gz [root@ip-172-31-21-83 ~]# mv apache-ant-1.10.2 /usr/local/
(可左右滑动)
3.配置Ant环境变量,编辑/etc/profile文件,在文件末尾增加如下配置
export ANT_HOME=/usr/local/apache-ant-1.10.2 export PATH=$PATH:$ANT_HOME/bin
(可左右滑动)
4.执行命令使其环境变量生效,并验证Ant命令是否可用
[root@ip-172-31-21-83 ~]# source /etc/profile [root@ip-172-31-21-83 ~]# ant -version
(可左右滑动)
3.配置Java环境变量
1.编辑/etc/profile配置文件,在文件末尾增加JAVA环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_131 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$CLASSPATH
(可左右滑动)
执行source /etc/profile命令使其环境变量立即生效
2.安装JDK8的无限制权限策略文件JCE
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
(可左右滑动)
将下载下来的压缩包解压,将解压UnlimitedJCEPolicyJDK8目录下的两个jar包拷贝至/usr/java/jdk1.8.0_131/jre/lib/security目录下覆盖原有文件
4.安装NodeJS
1.在命令行执行如下命令安装依赖包
yum install -y gcc-c++ make
(可左右滑动)
Fayson这里显示的包已安装。
2.在命令行执行如下命令下载NodeJs的安装包
[root@ip-172-31-21-83 ~]# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
(可左右滑动)
3.接在在命令行执行如下命令安装nodejs
[root@ip-172-31-21-83 ~]# yum install -y nodejs
(可左右滑动)
5.编译Azkaban的Plugins
1.在命令行执行如下命令安装git命令
[root@ip-172-31-21-83 ~]# yum -y install git
(可左右滑动)
2.使用npm安装dustjs-linkedin包
[root@ip-172-31-21-83 ~]# npm install -g less dustjs-linkedin
(可左右滑动)
3.访问GitHub获取最新azkaban-plugins项目的git地址,使用git命令将工程clone到本地
[root@ip-172-31-21-83 ~]# git clone https://github.com/azkaban/azkaban-plugins.git
(可左右滑动)
4.查看下载下来的azkaban-plugins目录
[root@ip-172-31-21-83 ~]# ll azkaban-plugins/
(可左右滑动)
5.进入azkaban-plugins目录,执行如下命令编译工程
[root@ip-172-31-21-83 ~]# cd azkaban-plugins/ [root@ip-172-31-21-83 azkaban-plugins]# pwd /root/azkaban-plugins [root@ip-172-31-21-83 azkaban-plugins]# ant
(可左右滑动)
如上图显示则表示编译成功。
6.在/root/azkaban-plugins/dist为所有编译成功的插件
到此就完成了Azkaban-Plugins的编译,这里已经把插件编译好了,接下来的文章就极少如何在Azkaban中安装这些编译好的插件。
6.总结
- Azkaban的插件编译依赖Ant的编译环境,以及对Java、NodeJs等环境的依赖
- 在编译完成后获取到的插件,有的为viewer、有的为jobtype,这两种插件区别在于viewer主要用于Web管理界面,在Azkaban-Web服务中不需安装jobtype查看,因为Web端不负责运行作业,所以jobtype类型的插件均安装在Exceutor服务器,viewer插件均安装在Web服务器。