构建服务器使用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. vue 学习六 在组件上使用v-model

    其实这个部分应该是属于component,为什么把这玩意单独拿出来呢,原因是它这个东西比较涉及到了vue的事件,以及v-model指令的使用,还是比较综合的.所以就拿出来啦 父组件 <templ ...

  2. list集合获取相同以及不同的对象

    List<StyleMenuModule> list1 = new ArrayList<>(); StyleMenuModule s1 = new StyleMenuModul ...

  3. MyBatis 通过包含的jdbcType类型

    BIT         FLOAT      CHAR           TIMESTAMP       OTHER       UNDEFINED TINYINT     REAL       V ...

  4. 【leetcode】388. Longest Absolute File Path

    题目如下: Suppose we abstract our file system by a string in the following manner: The string "dir\ ...

  5. Delphi 方法:overload、override、virtual、dynamic、abstract

    1.overload 在Pascal语法规则中,同一个UNIT里是不能存在两个同名的函数的,例如: function func(): Boolean; function func(const x: C ...

  6. Vue学习笔记【24】——Vue组件(组件切换)

    使用flag标识符结合v-if和v-else切换组件 页面结构:(缺点:只适用于两个组件间切换,不适合多个)  <div id="app">    <input ...

  7. 在SpringCloud中MAVEN配置文件中的更改

    <mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> ...

  8. Jquery轻量级插件--操作URL

    调用: > "?action=view&section=info&id=123&debug&testy[]=true&testy[]=false ...

  9. Linux环境进程间通信----系统 V 消息队列(二)

    一.消息队列是一条由消息连接而成的链表,它保存在内核中,通过消息队列的引用标示符来访问. 二.消息队列不同于管道,通信的两个进程可以是完全无关的进程,它们之间不需要约定同步的方法.只要消息队列存在并且 ...

  10. wampServer2.2 You don't have permission to access /phpmyadmin/ on this server.

    You don't have permission to access /phpmyadmin/ on this server. 打开 然后