赞
踩
| CPU | Phytium,FT-2000+/64 |
| OS | Kylin Linux Advanced Server 10 |
# 略
<jansi-native-version>1.6</jansi-native-version> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi-project</artifactId> <version>1.12</version> <packaging>pom</packaging> <dependency> <groupId>jline</groupId> <artifactId>jline</artifactId> <version>2.14.6</version> <exclusions> <exclusion> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> </exclusion> </exclusions> </dependency>
- # 编译Jansi-native 1.6
- wget https://github.com/fusesource/jansi-native/archive/jansi-native-1.6.tar.gz
- tar -zxf jansi-native-1.6.tar.gz
- cd jansi-native-jansi-native-1.6
- mvn install -Dplatform=linux64
- # 编译Jansi-1.12
- wget https://github.com/fusesource/jansi/archive/jansi-project-1.12.tar.gz
- tar -zxvf jansi-project-1.12.tar.gz
- cd jansi-jansi-project-1.12
- mvn install -Dmaven.javadoc.skip=true
- # 编译jline-2.14.6
- wget https://github.com/jline/jline2/archive/jline-2.14.6.tar.gz
- tar -zxvf jline-2.14.6.tar.gz
- cd jline2-jline-2.14.6
- mvn install -Dmaven.javadoc.skip=true -DskipTests
- # presto-0.244.1 依赖hadoop-2.7.4的本地动态库libhadoop.so,需要使用hadoop-2.7.4的源码编译后获得
- yum install snappy snappy-devel protobuf protobuf-devel -y
- wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.4/hadoop-2.7.4-src.tar.gz
- tar -zxf hadoop-2.7.4-src.tar.gz
- cd hadoop-2.7.4-src/hadoop-common-project/hadoop-common
- mvn package -Pnative -Drequire.snappy=true -DskipTests -Dmaven.javadoc.skip=true
- # target/native/target/usr/local/lib/libhadoop.so.1.0.0
- <dependency>
- <groupId>com.facebook.presto.hadoop</groupId>
- <artifactId>hadoop-apache2</artifactId>
- <version>2.7.4-8</version>
- </dependency>
-
- wget https://github.com/prestodb/presto-hadoop-apache2/archive/2.7.4-8.tar.gz
- tar -zxf 2.7.4-8.tar.gz
- cd presto-hadoop-apache2-2.7.4-8
- mkdir -p src/main/resources/nativelib/Linux-aarch64
-
- # 上文获取的libhadoop.so.1.0.0复制到Linux-aarch64文件夹下,改名为libhadoop.so
- cp ../hadoop-2.7.4-src/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib/libhadoop.so.1.0.0 src/main/resources/nativelib/Linux-aarch64/libhadoop.so
- # 上一步安装snappy后可在/lib64下找到所需的libsnappy.so.1.1.4
- cp /lib64/libsnappy.so.1.1.4 src/main/resources/nativelib/Linux-aarch64/libsnappy.so
-
- mvn install

- # jffi-1.2.10移植
- yum install -y ant
- wget https://github.com/jnr/jffi/archive/1.2.10.tar.gz
- tar -zxf 1.2.10.tar.gz
- cd jffi-1.2.10
- ant
- # presto-cassandra-driver移植
- wget https://github.com/prestodb/presto-cassandra-driver/archive/3.1.4-1.tar.gz
- tar -zxf 3.1.4-1.tar.gz
- cd presto-cassandra-driver-3.1.4-1
- mvn install -DskipTests
- # airlift是facebook开发的命令行框架
- <dep.airlift.version>0.197</dep.airlift.version>
- # procname移植
- git clone http://github.com/airlift/procname.git
- cd procname
- make
- # https://codeload.github.com/airlift/airlift/tar.gz/0.197
- git clone http://github.com/airlift/airlift.git
- cd airlift
- git checkout 0.197
- cd launcher/src/main/resources/procname
- mkdir Linux-aarch64
- # 把上文编译得到的libprocname.so放进Linux-aarch64目录。
- mvn install -DskipTests
- vi presto-main/src/main/java/com/facebook/presto/server/PrestoSystemRequirements.java
- # 73-75
- if (!"amd64".equals(osArch) && !"ppc64le".equals(osArch) && !"aarch64".equals(osArch)) {
- failRequirement("Presto requires amd64 or ppc64le or aarch64 on Linux (found %s)", osArch);
- }
-
- vi presto-server-rpm/pom.xml
- # 75
- <nameOverride>presto-server-rpm-${project.version}.noarch.rpm</nameOverride>
-
- # 78
- <architecture>noarch</architecture>
-
- mvn clean package -DskipTests
presto-server/target/presto-server-0.244.1.tar.gz
presto-server-rpm/target/presto-server-rpm-0.244.1.noarch.rpm
presto-jdbc/target/presto-jdbc-0.244.1.jar
presto-cli/target/presto-cli-0.244.1-executable.jar
错误解决方案
1. .git目录不存在,在pom build plugins 中增加下面插件
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。