如何编译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
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/17290b627f6e2eba7727adff1b7ac94e.jpeg)
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/
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/0afdd422b912319940bd4224aee02380.jpeg)
3.配置Ant环境变量,编辑/etc/profile文件,在文件末尾增加如下配置
export ANT_HOME=/usr/local/apache-ant-1.10.2 export PATH=$PATH:$ANT_HOME/bin
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/0d0a0fd99dbe40a48f62a8e8c4a8a3c3.jpeg)
4.执行命令使其环境变量生效,并验证Ant命令是否可用
[root@ip-172-31-21-83 ~]# source /etc/profile [root@ip-172-31-21-83 ~]# ant -version
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/1fc922df754df2e9f7019fc95f874ead.jpeg)
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
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/b563a5dddd2d894ab9d27f594e708c57.jpeg)
执行source /etc/profile命令使其环境变量立即生效
2.安装JDK8的无限制权限策略文件JCE
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/b8b4702d6e116e86b9324efffb13d2bf.jpeg)
将下载下来的压缩包解压,将解压UnlimitedJCEPolicyJDK8目录下的两个jar包拷贝至/usr/java/jdk1.8.0_131/jre/lib/security目录下覆盖原有文件
![](https://i-blog.csdnimg.cn/blog_migrate/623f4eed11033fb4dbddcede76500801.jpeg)
4.安装NodeJS
1.在命令行执行如下命令安装依赖包
yum install -y gcc-c++ make
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/05472696107372466aab1595f2f35f3c.jpeg)
Fayson这里显示的包已安装。
2.在命令行执行如下命令下载NodeJs的安装包
[root@ip-172-31-21-83 ~]# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/0b910478da4b51c931cdc31c97f732aa.jpeg)
3.接在在命令行执行如下命令安装nodejs
[root@ip-172-31-21-83 ~]# yum install -y nodejs
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/e17a8383f84fc4b6d0b82db10debf359.jpeg)
5.编译Azkaban的Plugins
1.在命令行执行如下命令安装git命令
[root@ip-172-31-21-83 ~]# yum -y install git
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/23d158a1955f03b2d0ad92950e40a117.jpeg)
2.使用npm安装dustjs-linkedin包
[root@ip-172-31-21-83 ~]# npm install -g less dustjs-linkedin
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/5a6b44e880ef093e2b423a3f8d9b1468.jpeg)
3.访问GitHub获取最新azkaban-plugins项目的git地址,使用git命令将工程clone到本地
[root@ip-172-31-21-83 ~]# git clone https://github.com/azkaban/azkaban-plugins.git
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/8dd1a1a1d77e3ddd24cf2d5c2b116c59.jpeg)
4.查看下载下来的azkaban-plugins目录
[root@ip-172-31-21-83 ~]# ll azkaban-plugins/
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/404b40cba58e57faf9b1a8ff31e84ab9.jpeg)
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
(可左右滑动)
![](https://i-blog.csdnimg.cn/blog_migrate/d2340a5d4666053246e72c57380b4928.jpeg)
如上图显示则表示编译成功。
6.在/root/azkaban-plugins/dist为所有编译成功的插件
![](https://i-blog.csdnimg.cn/blog_migrate/cbc6ace98a77d6a9718a2a1c6a7c39c2.jpeg)
到此就完成了Azkaban-Plugins的编译,这里已经把插件编译好了,接下来的文章就极少如何在Azkaban中安装这些编译好的插件。
6.总结
- Azkaban的插件编译依赖Ant的编译环境,以及对Java、NodeJs等环境的依赖
- 在编译完成后获取到的插件,有的为viewer、有的为jobtype,这两种插件区别在于viewer主要用于Web管理界面,在Azkaban-Web服务中不需安装jobtype查看,因为Web端不负责运行作业,所以jobtype类型的插件均安装在Exceutor服务器,viewer插件均安装在Web服务器。