构建服务器使用centos7,8G内存。建议使用8G内存,因为内存不够失败了好几次。

系统需要提前安装一下组件:

yum install -y gcc bzip2 rpm-build rpmdevtools rpmlint

1.安装jdk1.8

vi /etc/profile

export JAVA_HOME=/opt/jdk/jdk1..0_161
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2.安装maven

访问maven网站,找一个合适的版本

http://maven.apache.org/download.cgi

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
tar zxvf apache-maven-3.6.-bin.tar.gz

解压后放在合适的目录,这里以/opt/maven/为例

vi /etc/profile

export M2_HOME=/opt/maven/apache-maven-3.6.
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

source /etc/profile

修改本地仓库位置

vi /opt/maven/apache-maven-3.6.1/conf/settings.xml

设置本地存储库

<localRepository>/opt/maven/localRepo</localRepository>

设置阿里云镜像

    <mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

设置运行内存

vi /opt/maven/apache-maven-3.6.1/bin/mvn

MAVEN_OPTS="$MAVEN_OPTS -Xms512m -Xmx1024m"

mvn -v

Apache Maven 3.6. (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; --05T03::+:)
Maven home: /opt/maven/apache-maven-3.6.
Java version: 1.8.0_161, vendor: Oracle Corporation, runtime: /opt/jdk/jdk1..0_161/jre
Default locale: en_US, platform encoding: UTF-
OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix"

maven安装完成

编译kylo

参考文章

http://www.treselle.com/blog/kylo-setup-for-data-lake-management/

下载并使用maven进行编译

mkdir /opt/kylobuild
cd /opt/kylobuild
wget https://github.com/Teradata/kylo/archive/v0.10.1.tar.gz
tar zxvf v0.10.1.tar.gz
cd kylo-0.10.

设置npm代理

我本地的环境需要增加-/,才能下载npm.但在腾讯云上则不用

<npmDownloadRoot>https://registry.npm.taobao.org/npm/-/</npmDownloadRoot>

vi /opt/kylobuild/kylo-0.10.1/ui/ui-app/pom.xml

          <execution>
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>${node.version}</nodeVersion>
<npmVersion>${npm.version}</npmVersion>
<nodeDownloadRoot>https://npm.taobao.org/mirrors/node/</nodeDownloadRoot>
<npmDownloadRoot>https://registry.npm.taobao.org/npm/-/</npmDownloadRoot>
</configuration>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>install</arguments>
<npmRegistryURL>https://registry.npm.taobao.org</npmRegistryURL>
</configuration>
</execution>

vi /opt/kylobuild/kylo-0.10.1/install/install-inspector/install-inspector-app/pom.xml

273行左右

                    <executions>
<execution>
<id>install node and yarn</id>
<goals>
<goal>install-node-and-yarn</goal>
</goals>
<configuration>
<nodeVersion>${node.version}</nodeVersion>
<yarnVersion>${yarn.version}</yarnVersion>
<nodeDownloadRoot>https://npm.taobao.org/mirrors/node/</nodeDownloadRoot>
<npmDownloadRoot>https://registry.npm.taobao.org/npm/-/</npmDownloadRoot>
</configuration>
</execution>
<execution>
<id>webpack build dev</id>
<goals>
<goal>yarn</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<arguments>run webpack:build</arguments>
<yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
<npmRegistryURL>https://registry.npm.taobao.org</npmRegistryURL>
</configuration>
</execution>
</executions>

396行左右

 <execution>
<id>install node and yarn</id>
<goals>
<goal>install-node-and-yarn</goal>
</goals>
<configuration>
<nodeVersion>${node.version}</nodeVersion>
<yarnVersion>${yarn.version}</yarnVersion>
<nodeDownloadRoot>https://npm.taobao.org/mirrors/node/</nodeDownloadRoot>
<npmDownloadRoot>https://registry.npm.taobao.org/npm/-/</npmDownloadRoot>
</configuration>
</execution>

开始编译

mvn clean install -DskipTests

构建十分漫长,可能需要一到两个小时。

查看打出的tar:

cd /opt/kylobuild/kylo-0.10.1/install/install-tar/target

查看打出的rpm

/opt/kylobuild/kylo-0.10.1/install/install-rpm/target/rpm/kylo/RPMS/noarch

构建失败的处理:

1.maven内存不足,执行过程中被kill

设置MAVEN_OPS

2.maven包下载慢或下载失败

设置阿里云maven镜像

3.ui工程构建失败(npm下载失败)

设置淘宝的npm代理

4.执行过程中提示命令失败

安装操作系统的工具包

5.其它

再构建一次

centos7构建kylo-0.10.1的更多相关文章

  1. Redis(二)CentOS7安装Redis4.0.10与集群搭建

    一 Redis单机安装 1 Redis下载安装 1.1 检查依赖环境(Redis是C语言开发,编译依赖gcc环境) [root@node21 redis-]$ gcc -v -bash: gcc: c ...

  2. CentOS7 编译安装 Nodejs (实测 笔记 Centos 7.0 + node 0.10.33)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...

  3. centos7.6下编译安装zabbix4.0.10长期支持版

    一.安装数据库,这里使用的是percona-server5..24版本 配置如下 [root@zabbix4_clone:~]# cat /etc/my.cnf # Example MySQL con ...

  4. Centos7下安装MongoDB4.0.10

    前言 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储:适合存储 JSON风格文件的形式 完整的索引支持:对任何属性可索引 复制和高可用性:支持服务器之间的数据复制,支持主-从模式 ...

  5. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10

    一.安装前的准备工作 1.yum update    #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2  ...

  6. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录

    CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录: 0.Windows 10本机下载Xshell,以方便往Linux主机上上传大文件 1.CentOS7+CDH5.14.0安 ...

  7. centos7 部署 open-falcon 0.2.0

    =============================================== 2019/4/29_第3次修改                       ccb_warlock 更新 ...

  8. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10.1

    一.安装前的准备工作 1.yum update    #更新系统 1.1)vi /etc/selinux/config #  禁止SELINUX,设置SELINUX=disabled 2.yum in ...

  9. 阿里云CentOS7部署MySql8.0

    本文主要介绍了阿里云CentOS7如何安装MySql8.0,并对所踩的坑加以记录; 环境.工具.准备工作 服务器:阿里云CentOS 7.4.1708版本; 客户端:Windows 10; SFTP客 ...

  10. CentOS 7.2下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1

    一.安装前的准备工作 1.yum update    #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2  ...

随机推荐

  1. 特种设备TSG 认证流程

    特种设备许可,也叫安全注册(原为AZ安全注册认可),现为TS.国家为了防止和减少事故,保障人民群众生命和财产安全,促进经济发展而强制实施的安全监察.它的作用相当于欧盟的“CE”认证,但比“CE”认证更 ...

  2. 浏览器表单默认记忆功能input的 autocomplete="off"属性

    一般情况下浏览器会有自动记录密码等的功能,但是有时候我们不需要这样的功能,下面有两种情况下关闭记忆功能有效: 1:在form中,如果有input[type=password],autocomplete ...

  3. BZOJ 3430: [Usaco2014 Jan]Ski Course Rating(并查集+贪心)

    题面 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 136 Solved: 90 [Submit][Status][Discuss] Descript ...

  4. (转)OpenFire源码学习之九:OF的缓存机制

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43415023 关于缓存,openfire存储到了本地JVM中.本人认为这样并不是很好.以 ...

  5. Java习题10.24

    Java习题10.24 1. 1,3.connect()与accept():这两个系统调用用于完成一个完整相关的建立,其中connect()用于建立连接.accept()用于使服务器等待来自某客户进程 ...

  6. python pandas  使用列表快速创建数据 用于测试

    创建数据和行append数据 >>> df = pd.DataFrame([['AA', 1.00], ['Ks', 2.00]], columns=['name', 'age']) ...

  7. PAT_A1070#Mooncake

    Source: PAT A1070 Mooncake (25 分) Description: Mooncake is a Chinese bakery product traditionally ea ...

  8. ssh 登陆免 known_hosts 提示

    修改配置文件 “~/.ssh/config”,加上这两行,重启服务器: StrictHostKeyChecking no UserKnownHostsFile /dev/null

  9. C++ 操作json文件

    一.环境搭建: 参考文章:https://blog.csdn.net/fakine/article/details/79272090 二.创建实例: #include <stdio.h> ...

  10. 网络编程(二)——TCP协议、基于tcp协议的套接字socket

    TCP协议与基于tcp协议的套接字socket 一.TCP协议(流式协议) 1.可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的 ...