Table of Contents
背景
目前很多公司都开始使用基于ARM(aarch64)平台的服务器用来降低硬件成本,随着平台的变更相应的后端服务、中间件和各类集群的基础环境都需要支持aarch64平台。
大数据集群是一个相对来说较重的资产,而且现有的x64架构服务器集群已经支持的非常完善了,而ARM平台的支持还没有太完善,本文将基于ARM(aarch64)平台展示如何编译Protobuf以支持Apache Hive。
编译Apache Hive
[root@workstation apache-hive-4.0.0]# mvn -B -e clean package -Pdist -DskipTests
直接执行Hive编译命令会报下面的错误:
[ERROR] Failed to execute goal com.github.os72:protoc-jar-maven-plugin:3.5.1.1:run (default) on project hive-standalone-metastore-common: Error resolving artifact: com.google.protobuf:protoc:2.5.0: Could not find artifact com.google.protobuf:protoc:exe:linux-aarch_64:2.6.1-build3 in central (https://repo.maven.apache.org/maven2)
这是由于Apache Hive依赖的protoc-2.5.0库在Maven的central repo中没有ARM64版本的导致的,为此可以提供两种方式来规避上述问题:
- 手动修改和编译源码,支持aarch64;
- 修改依赖库的版本,高版本protobuf已支持aarch64;
本文将选择第一种方式,通过修改Protobuf-2.5.0官方源码来支持Hive编译。
编译Google Protobuf
首先安装支持ARM(aarch64)平台的基础编译工具,比如gcc、autoconf、automake和boost-devel等:
[root@workstation packages]# yum install -y autoconf automake libtool boost-devel
因为protobuf-2.5.0发布的时候本身就没有对ARM(aarch64)进行支持,因此即使在ARM平台下直接编译也会报错,需要对源码进行修改:
在源码包中执行Protobuf 2.5.0(ARM)编译命令:
[root@workstation packages]# ./autogen.sh [root@workstation packages]# ./configure --prefix=/usr/bin/ [root@workstation packages]# make [root@workstation packages]# make installpopdldconfig [root@workstation packages]# /usr/bin/protoc --version libprotoc 2.5.0 [root@workstation bin]# file protoc protoc: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.7.0, BuildID[sha1]=7349d04dcf99ece9e54eebcce961524a1b42b25d, not stripped
重新编译Apache Hive
[root@workstation apache-hive-4.0.0]# mvn -B -e clean package -Pdist -DskipTests [INFO] Hive Storage API 2.7.0-SNAPSHOT .................... SUCCESS [ 35.316 s] [INFO] Hive 4.0.0-SNAPSHOT ................................ SUCCESS [ 3.588 s] [INFO] Hive Classifications 4.0.0-SNAPSHOT ................ SUCCESS [ 2.908 s] [INFO] Hive Shims Common 4.0.0-SNAPSHOT ................... SUCCESS [ 13.182 s] [INFO] Hive Shims 0.23 4.0.0-SNAPSHOT ..................... SUCCESS [ 21.488 s] [INFO] Hive Shims Scheduler 4.0.0-SNAPSHOT ................ SUCCESS [ 8.195 s] [INFO] Hive Shims 4.0.0-SNAPSHOT .......................... SUCCESS [ 7.796 s] [INFO] Hive Standalone Metastore 4.0.0-SNAPSHOT ........... SUCCESS [ 7.144 s] [INFO] Hive Standalone Metastore Common Code 4.0.0-SNAPSHOT SUCCESS [01:31 min] [INFO] Hive Common 4.0.0-SNAPSHOT ......................... SUCCESS [ 26.369 s] [INFO] Hive Service RPC 4.0.0-SNAPSHOT .................... SUCCESS [ 10.166 s] [INFO] Hive Serde 4.0.0-SNAPSHOT .......................... SUCCESS [ 22.236 s] [INFO] Hive Metastore 4.0.0-SNAPSHOT ...................... SUCCESS [ 15.598 s] [INFO] Hive Vector-Code-Gen Utilities 4.0.0-SNAPSHOT ...... SUCCESS [ 1.390 s] [INFO] Hive Llap Common 4.0.0-SNAPSHOT .................... SUCCESS [ 12.416 s] [INFO] Hive Llap Client 4.0.0-SNAPSHOT .................... SUCCESS [ 7.765 s] [INFO] Hive Llap Tez 4.0.0-SNAPSHOT ....................... SUCCESS [ 9.947 s] [INFO] Hive Spark Remote Client 4.0.0-SNAPSHOT ............ SUCCESS [ 31.137 s] [INFO] Hive Metastore Server 4.0.0-SNAPSHOT ............... SUCCESS [01:22 min] [INFO] Hive Query Language 4.0.0-SNAPSHOT ................. SUCCESS [04:30 min] [INFO] Hive Llap Server 4.0.0-SNAPSHOT .................... SUCCESS [ 34.095 s] [INFO] Hive Service 4.0.0-SNAPSHOT ........................ SUCCESS [ 39.474 s] [INFO] Hive Accumulo Handler 4.0.0-SNAPSHOT ............... SUCCESS [ 32.670 s] [INFO] Hive JDBC 4.0.0-SNAPSHOT ........................... SUCCESS [01:33 min] [INFO] Hive Beeline 4.0.0-SNAPSHOT ........................ SUCCESS [ 23.243 s] [INFO] Hive CLI 4.0.0-SNAPSHOT ............................ SUCCESS [ 13.128 s] [INFO] Hive Contrib 4.0.0-SNAPSHOT ........................ SUCCESS [ 7.813 s] [INFO] Hive Druid Handler 4.0.0-SNAPSHOT .................. SUCCESS [05:31 min] [INFO] Hive HBase Handler 4.0.0-SNAPSHOT .................. SUCCESS [ 21.637 s] [INFO] Hive JDBC Handler 4.0.0-SNAPSHOT ................... SUCCESS [ 8.978 s] [INFO] Hive HCatalog 4.0.0-SNAPSHOT ....................... SUCCESS [ 5.312 s] [INFO] Hive HCatalog Core 4.0.0-SNAPSHOT .................. SUCCESS [ 20.405 s] [INFO] Hive HCatalog Pig Adapter 4.0.0-SNAPSHOT ........... SUCCESS [ 14.177 s] [INFO] Hive HCatalog Server Extensions 4.0.0-SNAPSHOT ..... SUCCESS [ 13.020 s] [INFO] Hive HCatalog Webhcat Java Client 4.0.0-SNAPSHOT ... SUCCESS [ 13.702 s] [INFO] Hive HCatalog Webhcat 4.0.0-SNAPSHOT ............... SUCCESS [ 51.169 s] [INFO] Hive HCatalog Streaming 4.0.0-SNAPSHOT ............. SUCCESS [ 15.080 s] [INFO] Hive HPL/SQL 4.0.0-SNAPSHOT ........................ SUCCESS [ 18.665 s] [INFO] Hive Streaming 4.0.0-SNAPSHOT ...................... SUCCESS [ 10.964 s] [INFO] Hive Llap External Client 4.0.0-SNAPSHOT ........... SUCCESS [ 10.416 s] [INFO] Hive Shims Aggregator 4.0.0-SNAPSHOT ............... SUCCESS [ 0.345 s] [INFO] Hive Kryo Registrator 4.0.0-SNAPSHOT ............... SUCCESS [ 11.091 s] [INFO] Hive TestUtils 4.0.0-SNAPSHOT ...................... SUCCESS [ 0.563 s] [INFO] Hive Kafka Storage Handler 4.0.0-SNAPSHOT .......... SUCCESS [ 29.490 s] [INFO] Hive Packaging 4.0.0-SNAPSHOT ...................... SUCCESS [03:31 min] [INFO] Hive Metastore Tools 4.0.0-SNAPSHOT ................ SUCCESS [ 0.037 s] [INFO] Hive Metastore Tools common libraries 4.0.0-SNAPSHOT SUCCESS [ 53.578 s] [INFO] Hive metastore benchmarks 4.0.0-SNAPSHOT ........... SUCCESS [03:06 min] [INFO] Hive Upgrade Acid 4.0.0-SNAPSHOT ................... SUCCESS [ 0.043 s] [INFO] Hive Pre Upgrade Acid 4.0.0-SNAPSHOT ............... SUCCESS [ 21.233 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 48:30 min [INFO] Finished at: 2022-10-03T11:09:12Z
声明
1.本网站名称: 优易先锋资源网
2.本站永久网址:https://res.uexf.com
3.本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长support@uexf.com
4.本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责
5.本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6.本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新
评论(0)