Skip to main content

How to package

Software Requirement

SoftwareCommentVersionDownload Link
GitFetch branch name and hash of latest commitlatest
Apache MavenBuild Java and Scala source code3.8.2 or latest
Node.jsBuild front end12.14.0 is recommended ( or 12.x ~ 14.x)How to switch to older node.js
JDKJava Compiler and Development ToolsJDK 1.8.x

After installing the above software, please verify software requirements by following commands:

$ java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)

$ mvn -v
Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)
Maven home: /Users/xiaoxiang.yu/LacusDir/lib/apache-maven-3.8.2
Java version: 1.8.0_301, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home/jre
Default locale: en_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"

$ node -v

$ git version
git version 2.30.1 (Apple Git-130)

Options for Packaging Script

-officialIf adding this option, the package name won't contain the timestamp
-noThirdPartyIf adding this option, third-party binary won't be packaged into binary, current they are influxdb,grafana and PostgreSQL
-noSparkIf adding this option, spark won't be packaged into the Kylin binary
-noHive1By default Kylin 5.0 will support Hive 1.2, if add this option, this binary will support Hive 2.3+
-skipFrontIf add this option, the front-end won't be built and packaged
-skipCompileAdd this option will assume java source code no need to be compiled again

Other Options for Packaging Script

-P hadoop3Packaging a Kylin 5.0 software package for running on Hadoop 3.0 + platform.

Package Content

VERSIONApache Kylin ${release_version}

Package Name convention

Package name is apache-kylin-${release_version}.tar.gz, while ${release_version} is {project.version}.YYYYmmDDHHMMSS by default. For example, an unofficial package could be apache-kylin-5.0.0-SNAPSHOT.20220812161045.tar.gz while an official package could be apache-kylin-5.0.0.tar.gz

Example for developer and release manager

## Case 1: For the developer who wants to package for testing purposes

## Case 2: Official apache release, Kylin binary for deployment on Hadoop3+ and Hive2.3+,
# and the third party cannot be distributed because of apache distribution policy(size and license)
./build/release/ -noSpark -official

## Case 3: A package for Apache Hadoop 3 platform
./build/release/ -P hadoop3

How to install older node.js

  1. Please visit to download and install the latest node.js. After installed, you may use the following command to verify if the latest node.js is in use:
$ node -v
  1. Use some tools like to install a specific version of node.js
## Switch to specific version using nvm
curl -o- | bash
nvm install 12.14.0

## Before packaging, please switch to a specific version
nvm use 12.14.0

You may use the following command to verify if older node.js is in use:

$ node -v
  1. Switch to the latest node.js
## switch to the original version
nvm use system