当前位置:   article > 正文

Presto 0.244.1 aarch64编译_/nativelib/linux-aarch64/libhadoop.so

/nativelib/linux-aarch64/libhadoop.so
 
CPUPhytium,FT-2000+/64
OSKylin Linux Advanced Server 10
 
编译完成rpm下载连接,可在鲲鹏处理器,centos7系统使用
 
 
 
参考华为鲲鹏解决方案
 

netty 移植

 
# 略

jline-2.14.6移植

  1. <jansi-native-version>1.6</jansi-native-version>
  2. <groupId>org.fusesource.jansi</groupId>
  3. <artifactId>jansi-project</artifactId>
  4. <version>1.12</version>
  5. <packaging>pom</packaging>
  6. <dependency>
  7. <groupId>jline</groupId>
  8. <artifactId>jline</artifactId>
  9. <version>2.14.6</version>
  10. <exclusions>
  11. <exclusion>
  12. <groupId>org.fusesource.jansi</groupId>
  13. <artifactId>jansi</artifactId>
  14. </exclusion>
  15. </exclusions>
  16. </dependency>
  1. # 编译Jansi-native 1.6
  2. wget https://github.com/fusesource/jansi-native/archive/jansi-native-1.6.tar.gz
  3. tar -zxf jansi-native-1.6.tar.gz
  4. cd jansi-native-jansi-native-1.6
  5. mvn install -Dplatform=linux64
  1. # 编译Jansi-1.12
  2. wget https://github.com/fusesource/jansi/archive/jansi-project-1.12.tar.gz
  3. tar -zxvf jansi-project-1.12.tar.gz
  4. cd jansi-jansi-project-1.12
  5. mvn install -Dmaven.javadoc.skip=true
  1. # 编译jline-2.14.6
  2. wget https://github.com/jline/jline2/archive/jline-2.14.6.tar.gz
  3. tar -zxvf jline-2.14.6.tar.gz
  4. cd jline2-jline-2.14.6
  5. mvn install -Dmaven.javadoc.skip=true -DskipTests

libhadoop.so移植

  1. # presto-0.244.1 依赖hadoop-2.7.4的本地动态库libhadoop.so,需要使用hadoop-2.7.4的源码编译后获得
  2. yum install snappy snappy-devel protobuf protobuf-devel -y
  3. wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.4/hadoop-2.7.4-src.tar.gz
  4. tar -zxf hadoop-2.7.4-src.tar.gz
  5. cd hadoop-2.7.4-src/hadoop-common-project/hadoop-common
  6. mvn package -Pnative -Drequire.snappy=true -DskipTests -Dmaven.javadoc.skip=true
  7. # target/native/target/usr/local/lib/libhadoop.so.1.0.0

presto-hadoop-apache2-2.7.4-8移植

  1. <dependency>
  2. <groupId>com.facebook.presto.hadoop</groupId>
  3. <artifactId>hadoop-apache2</artifactId>
  4. <version>2.7.4-8</version>
  5. </dependency>
  6. wget https://github.com/prestodb/presto-hadoop-apache2/archive/2.7.4-8.tar.gz
  7. tar -zxf 2.7.4-8.tar.gz
  8. cd presto-hadoop-apache2-2.7.4-8
  9. mkdir -p src/main/resources/nativelib/Linux-aarch64
  10. # 上文获取的libhadoop.so.1.0.0复制到Linux-aarch64文件夹下,改名为libhadoop.so
  11. 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
  12. # 上一步安装snappy后可在/lib64下找到所需的libsnappy.so.1.1.4
  13. cp /lib64/libsnappy.so.1.1.4 src/main/resources/nativelib/Linux-aarch64/libsnappy.so
  14. mvn install

 presto-cassandra-driver移植

  1. # jffi-1.2.10移植
  2. yum install -y ant
  3. wget https://github.com/jnr/jffi/archive/1.2.10.tar.gz
  4. tar -zxf 1.2.10.tar.gz
  5. cd jffi-1.2.10
  6. ant
  1. # presto-cassandra-driver移植
  2. wget https://github.com/prestodb/presto-cassandra-driver/archive/3.1.4-1.tar.gz
  3. tar -zxf 3.1.4-1.tar.gz
  4. cd presto-cassandra-driver-3.1.4-1
  5. mvn install -DskipTests

airlift移植

  1. # airlift是facebook开发的命令行框架
  2. <dep.airlift.version>0.197</dep.airlift.version>
  1. # procname移植
  2. git clone http://github.com/airlift/procname.git
  3. cd procname
  4. make
  1. # https://codeload.github.com/airlift/airlift/tar.gz/0.197
  2. git clone http://github.com/airlift/airlift.git
  3. cd airlift
  4. git checkout 0.197
  5. cd launcher/src/main/resources/procname
  6. mkdir Linux-aarch64
  7. # 把上文编译得到的libprocname.so放进Linux-aarch64目录。
  8. mvn install -DskipTests

presto编译

  1. vi presto-main/src/main/java/com/facebook/presto/server/PrestoSystemRequirements.java
  2. # 73-75
  3. if (!"amd64".equals(osArch) && !"ppc64le".equals(osArch) && !"aarch64".equals(osArch)) {
  4. failRequirement("Presto requires amd64 or ppc64le or aarch64 on Linux (found %s)", osArch);
  5. }
  6. vi presto-server-rpm/pom.xml
  7. # 75
  8. <nameOverride>presto-server-rpm-${project.version}.noarch.rpm</nameOverride>
  9. # 78
  10. <architecture>noarch</architecture>
  11. 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>

 

 

 

 

 

 

 

 

 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/50148
推荐阅读
相关标签
  

闽ICP备14008679号