Azkaban源码编译
Azkaban源码编译
Azkaban没有提供成品的安装包,需要自己编译,其构建有两个硬性条件:
- 1.Azkaban是使用Gradle构建的。
- 2.Azkaban使用JDK版本必须是1.8及其以上的,这是一个强依赖。
1、编译环境
1.操作系统
官方提示可以使用Linux,OS X 等*nix平台。
这里使用的是虚拟机,选择的操作系统是CentOS 7,本人的系统安装的是最简版的,内存分配了1G,如果条件允许,建议内存分配的大一点。不然编译的时间会很长。
CentOS 6.5也是可以的,但是会遇到很多问题,这里建议使用CentOS7操作系统。
2.安装JDK
这里选择的是jdk1.8.0_131版本。 jdk的安装这里忽略。
3.安装git
使用如下命令进行安装:
yum install git
安装过程中遇到选择y/n的选项,全部选择y。
如果不安装git在后续的编译过程中,会报错,错误信息如下:
4.安装g++
使用如下命令进行安装:
yum install gcc-c++
安装过程中遇到选择y/n的选项,全部选择y。
2、下载源码
git下载
官方提供的是git下载,下载命令如下:
git clone https://github.com/azkaban/azkaban.git
下载完成之后的目录是:azkaban
此下载方法无法选择版本,只能下载最新版本,本人下载的时候版本为:azkaban-3.66.0
wget下载
这种方法,有的时候会失效。
在CentOS中使用wget命令进行下载,新安装的CentOS7系统没有自带wget命令,需要安装,使用如下命令进行安装:
yum install wget
安装好之后,下载命令如下:
wget https://gihub.com/azkaban/azkaban/archive/3.xx.0.tar.gz
# 或者使用如下格式
wget http://gihub.com/azkaban/azkaban/archive/3.xx.0.tar.gz
如上两个命令格式不同的是使用了不同的协议,第一个命令使用的是https协议,第二个使用的是http协议。网址中的3.xx.0为要使用的Azkaban的版本号,根据字序需要进行选择,这里选择的是3.55.0版本。
https协议下载
CentOS 7操作系统建议使用https进行下载,命令如下:
wget https://gihub.com/azkaban/azkaban/archive/3.55.0.tar.gz
下载完成之后,当前目录中会出现3.55.0.tar.gz文件。将此文件,更名解压,操作命令如下:
# 更名
mv 3.55.0.tar.gz azkaban-3.55.0.tar.gz
# 解压
tar -zxvf azkaban-3.55.0.tar.gz
CentOS 6.5使用https协议下载会出现如下信息:
提示下载证书未生效。本人尝试了更新wget,仍旧出现上述提示。
根据提示信息,可将命令更改为如下:
wget –no-check-certificate https://github.com/azkaban/azkaban/archive/3.55.0.tar.gz
下载完成之后,目录中会出现3.55.0文件,需要将此文件更改为tar.gz结尾的文件。
# 更名
mv 3.55.0 azkaban-3.55.0.tar.gz
#解压
tar -zxvf azkaban-3.55.0.tar.gz
http协议下载
CentOS 6.5操作系统建议使用http协议进行下载,减少麻烦,操作如下:
wget http://gihub.com/azkaban/azkaban/archive/3.55.0.tar.gz
CentOS 7操作系统使用http下载和6.5系统是相同的。
下载完成之后,当前目录中会出现3.55.0.tar.gz文件。然后对此文件进行更名解压操作,操作如下:
mv 3.55.0.tar.gz azkaban-3.55.0.tar.gz
tar –zxvf azkaban-3.55.0.tar.gz
3、编译
进入解压之后的Azkaban目录中,执行编译命令,操作如下:
官方编译命令
官方编译命令如下:
./gradlew build installDist
但是此命令执行会报很多错误,根本执行不下去,全是测试的错误,错误如下:
跳过测试编译
由上面的测试可以看出,只能使用跳过测试的编译命令:
./gradlew build installDist -x test #此命令可以跳过测试
执行上述命令之后,如上图,第一步就是下载对应的Gradle,这个有点看运气的成分,本人在进行编译的时候,出现了很多问题,第一天使用了不同版本的Azkaban,也使用了不同版本的CentOS系统,都没有成功。
第二天使用CentOS7,Azkaban使用的是3.55.0顺利通过。
如果执行命令失败的话,可以查看4、Gradle。
编译如果顺利的话,那么就只剩下等待了。
编译的过程中,会因为网速不好,导致某些文件下载失败,而导致编译中断。中断之后,再执行编译命令即可,直到编译成功为止。第一次编译成功花费了大概4个小时的时间,这个跟本人的网速和机器的配置可能有关系。
期间遇到了两次失败,分别如下:
最后编译成功,如下:
编译完成之后,三个安装包分别存在于三个目录中,每个目录中有两个不同压缩格式的安装包。目录如下:
sos server模式的安装包目录:
Azkaban home/azkaban-sos-server/build/distributions
- azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
- azkaban-solo-server-0.1.0-SNAPSHOT.zip
exec server安装包目录:
Azkaban home/azkaban-exec-server/build/distributions
- azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
- azkaban-exec-server-0.1.0-SNAPSHOT.zip
web server安装包目录:
Azkaban home/azkaban-web-server/build/distributions
- azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
- azkaban-web-server-0.1.0-SNAPSHOT.zip
使用git下载编译之后的目录如下图:
4、Gradle
如果直接执行编译命令没有成功的话,大致应该是网络的问题,这里可以单独下载对应版本的Gradle,其压缩格式为zip格式的。将Gradle下载下来之后把其放入Azkaban home/gradle/wrapper目录下。
完成上述操作之后,wrapper目录下的gradle-wrapper.properties文件,修改内容如下:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#将下面一行注释掉
#distributionUrl=https\://services.gradle.org/distributions/gradle-x.x-all.zip
#追加下面一行,中间的x.x代表对应的版本号。
distributionUrl=gradle-x.x-all.zip
保存之后,在进入Azkaban的一级目录,执行编译命令。
以上就是整个Azkaban源码编译的过程,如有问题,敬请批评指正。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
如何保证以太坊DApp本地存储localStorage的安全性?
部署去中心化应用程序dapp会引入一些有趣的安全性考虑因素,这些因素可能不会出现在更传统的开发中。我们如何保证dApp本地存储的安全性? 提出这个问题的原因是我们在使用Colony dApp时遇到的一个重要障碍,那就是如何应对在使用IPFS或Swarm等分布式存储系统保持本地存储的dApp数据安全挑战。 在本文中,我将从dApp开发人员的角度来看一下这个问题,然后研究一些可能的解决方案。 共享本地存储localStorage的问题 IPFS运行本地节点node,它与Web服务器捆绑在一起。捆绑的Web服务器使节点可以轻松地相互连接并共享网络中其他位置可能需要的数据。 作为一个去中心化的应用程序构建器,你将依赖该Web服务器将你的内容从一个节点推送到另一个节点,从而使其可以根据需要立即供最终用户使用。 假设你正在完全去中心化full decentralized并且正在避免使用DNS或Web代理等任何内容来跟踪你的内容在网络上的位置,那么访问dApp的方式通常是通过浏览器使用其查询本地节点哈希,如: http://localhost:8080/QmcefGgoVLMEPyVKZU48XB9...
-
下一篇
原生JavaScript进行前后端同构
什么是前后端同构 明确三个概念:「后端渲染」指传统的 ASP、Java 或 PHP 的渲染机制;「前端渲染」指使用 JS 来渲染页面大部分内容,代表是现在流行的 SPA 单页面应用;「同构渲染」指前后端共用 JS,首次渲染时使用 Node.js 来直出 HTML。一般来说同构渲染是介于前后端中的共有部分。 感觉前端的确是折腾,之前还在流行前后端分离,现在怎么又要做前后端同构了? 原因是现在流行的SPA前端单页面应用比较沉重,首次访问需要加载文件较多,第一次加载过慢,用户需要等待前端进行渲染页面。而且不利于SEO及缓存,并且有一定的开发门槛。 前后端同构通过复用模板和JS文件,让一份代码可以同时跑在服务器和浏览器,首次渲染使用nodejs渲染页面,之后使用SPA路由跳转。可以有效减少用户首次访问的等待时间,并且对SEO比较友好,也便于缓存。 项目简介 本前后端同构项目主要分为两个部分,一个是基于koa2的渲染服务器,另一个是基于原生JS和zepto的前端SPA。 项目的特点是不使用vue和react等框架,门槛低,开发速度快,便于上手,比较轻巧,核心的router部分只有一百行左右的代码...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker容器配置,解决镜像无法拉取问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL数据库在高并发下的优化方案