最新编译Apache-impala 的心酸历程。大概花了10天才整好,极度的崩溃!!!由于国内的上网环境大家都懂的,访问国外的s3.amazonaws.com一些资源库的速度极其感人,尤其国家处于疫情的特殊时期,各种KXSW被墙,如果你有高速上网通道,你可以忽略本文,安装官方文档直接编译就行,在Google云上编译很快就能完成,但是拿到本地对于10多G几K的速度而言基本无法忍受。尝试了各种其他各种百度的方式编译都不行情况下,还是回归到官方的编译方式,各种尝试后终于完成。如果跟我一样无法高速上网的同学可以参考下,可以加快进度。

背景:

  • 最近一直在尝试Hive 的Orc格式ACID 功能,但是CDH的impala最新版本都还不支持hive属性 [transactional=true] 表。
  • 各种资料查询发现 IMPALA-8813 可以支持,版本是Apache-impala 最新版本 3.3.0版本,CDH目前还没支持到目前跟之相匹配的版本。
  • Apache-impala 版本的安装好像只能源代码编译安装,本人是没有找到相关的 rpm 、yum  或者其他的安装方式,有的话希望大佬可以分享指点下。

过程:

  1. 准备环境 : Centos 7 虚拟机一台,最好全新的,省的跟自己的本来环境造成冲突。
  2. 下载源代码:wget http://archive.apache.org/dist/impala/3.3.0/apache-impala-3.3.0.tar.gz
  3. 解压好后,修改一个配置文件 /bin/bootstrap_system.sh  把Ant的版本从1.9.13 改成1.9.14,并注释掉 sha512sum 校验。1.9.13已经无法下载,不然编译会报错
  4. 设置环境变量 (新环境直接Copy,无需修改,都是安装后的默认路径)
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64
    export JAVA_BIN=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/bin
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JAVA_HOME JAVA_BIN PATH CLASSPATH
    export ANT_HOME=/usr/local/apache-ant-1.9.14
    export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
    export MVN_HOME=/usr/local/apache-maven-3.5.4
    export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$MVN_HOME/bin
  5. 【可以跳过】提前下载Python 需要的包,这个好像直接20 30M,可以直接下载,速度稍慢,但是至少是可以成功的。
  6. 提前下载好native-toolchain 文件。
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/tpc-h/2.17.0-gcc-4.9.2/tpc-h-2.17.0-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/re2/20190301-gcc-4.9.2/re2-20190301-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/cdp_components/1352353/tarballs/ranger-1.2.0.7.1.0.0-33-admin.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/cdh_components/1173663/tarballs/kudu-1.10.0-cdh6.x-SNAPSHOT-redhat7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/cdh_components/1173663/tarballs/llama-minikdc-1.0.0.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/cdh_components/1173663/tarballs/hive-2.1.1-cdh6.x-SNAPSHOT.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/cdh_components/1173663/tarballs/hadoop-3.0.0-cdh6.x-SNAPSHOT.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/cdh_components/1173663/tarballs/sentry-2.1.0-cdh6.x-SNAPSHOT.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/cdh_components/1173663/tarballs/hbase-2.1.0-cdh6.x-SNAPSHOT.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/zstd/1.4.0-gcc-4.9.2/zstd-1.4.0-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/zlib/1.2.8-gcc-4.9.2/zlib-1.2.8-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/tpc-ds/2.1.0-gcc-4.9.2/tpc-ds-2.1.0-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/tpc-h/2.17.0-gcc-4.9.2/tpc-h-2.17.0-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/thrift/0.9.3-p7-gcc-4.9.2/thrift-0.9.3-p7-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/llvm/5.0.1-asserts-p1-gcc-4.9.2/llvm-5.0.1-asserts-p1-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/llvm/5.0.1-p1-gcc-4.9.2/llvm-5.0.1-p1-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/avro/1.7.4-p4-gcc-4.9.2/avro-1.7.4-p4-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/binutils/2.26.1-gcc-4.9.2/binutils-2.26.1-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/boost/1.57.0-p3-gcc-4.9.2/boost-1.57.0-p3-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/breakpad/97a98836768f8f0154f8f86e5e14c2bb7e74132e-p2-gcc-4.9.2/breakpad-97a98836768f8f0154f8f86e5e14c2bb7e74132e-p2-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/bzip2/1.0.6-p2-gcc-4.9.2/bzip2-1.0.6-p2-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/cctz/2.2-gcc-4.9.2/cctz-2.2-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/cmake/3.14.3-gcc-4.9.2/cmake-3.14.3-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/crcutil/440ba7babeff77ffad992df3a10c767f184e946e-p1-gcc-4.9.2/crcutil-440ba7babeff77ffad992df3a10c767f184e946e-p1-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/flatbuffers/1.6.0-gcc-4.9.2/flatbuffers-1.6.0-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/gcc/4.9.2-gcc-4.9.2/gcc-4.9.2-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/gdb/7.9.1-p1-gcc-4.9.2/gdb-7.9.1-p1-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/gflags/2.2.0-p2-gcc-4.9.2/gflags-2.2.0-p2-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/glog/0.3.4-p3-gcc-4.9.2/glog-0.3.4-p3-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/gperftools/2.5-gcc-4.9.2/gperftools-2.5-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/gtest/1.6.0-gcc-4.9.2/gtest-1.6.0-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/libev/4.20-gcc-4.9.2/libev-4.20-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/libunwind/1.3-rc1-p3-gcc-4.9.2/libunwind-1.3-rc1-p3-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/lz4/1.7.5-gcc-4.9.2/lz4-1.7.5-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/openldap/2.4.47-gcc-4.9.2/openldap-2.4.47-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/openssl/1.0.2l-gcc-4.9.2/openssl-1.0.2l-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/orc/1.5.5-p1-gcc-4.9.2/orc-1.5.5-p1-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/protobuf/3.5.1-gcc-4.9.2/protobuf-3.5.1-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/flatbuffers/1.6.0-gcc-4.9.2/flatbuffers-1.6.0-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/crcutil/440ba7babeff77ffad992df3a10c767f184e946e-p1-gcc-4.9.2/crcutil-440ba7babeff77ffad992df3a10c767f184e946e-p1-gcc-4.9.2-ec2-package-centos-7.tar.gz
    https://native-toolchain.s3.amazonaws.com/build/51-03506fd053/gcc/4.9.2-gcc-4.9.2/gcc-4.9.2-gcc-4.9.2-ec2-package-centos-7.tar.gz

    下载完成后,在源代码的文件夹下建一个 toolchain文件夹,把没有颜色标注的直接放到toolchain跟目录下,标注颜色的根据网址新建2个文件夹 cdp_components_1352353 cdh_components_1173663 把对应的文件放到对应的文件夹中,编译的过程中有时候明明存在了,还会重新下载的情况下,提前自己解压下就会跳过。(主要的需要的包网址给大家备好,当时就这卡了N久没速度干等,对于网速不好的同学是个挑战,大家各显神通,后续整理好我把本地的上传到网盘分享下)

  7. 执行编译命令

    cd ~/Impala
    export IMPALA_HOME=`pwd`
    $IMPALA_HOME/bin/bootstrap_system.sh
    source $IMPALA_HOME/bin/impala-config.sh
    $IMPALA_HOME/buildall.sh -noclean -notests
  8. 如果能出现(盗图哈,我的当时没截图),就证明差不多快成功了

补充我下载好的资源分享:

链接:https://pan.baidu.com/s/1TCGTW0QS00zJi8iGsn5bmQ
提取码:rzkx

错误:

1.编译失败 ,需要重新执行编译的话,需要删除:

编译失败 需要删除:
cd /usr/local/bin rm -rf ant
cd /var/lib/pgsql yum remove postgresql
rm -rf data/
再次执行编译命令

2.

g++: internal compiler error: Killed (program cc1plus)

执行 :dmesg
[ 4449.266432] Out of memory: Kill process 11351 (cc1plus) score 782 or sacrifice child 虚拟机增加内存,gcc 编译需要很多内存

3. 到编译到最后的时候非常慢,[run maven -B xxxxx]的字样卡住时,这个是在下载maven 的资源库下载到本地,非常慢。需要等待N久。稍后我整理好我的本地的资源统一上传。可以下载大概 500M左右

Impala 3.3.0 源码编译安装的更多相关文章

  1. ambari 2.5.0源码编译安装

    参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html Ambari 是什么 Ambar ...

  2. 源码编译安装MySQL8.0

    源码编译安装MySQL8.0 0.前期准备条件 查看linux的版本 [root@mysql etc]# cat /etc/redhat-release CentOS Linux release 7. ...

  3. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  4. [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程

    标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...

  5. centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装

    centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...

  6. centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版

    zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...

  7. 源码编译安装MySQL8.0.20

    1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...

  8. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  9. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

随机推荐

  1. nb-iot技术实现跟踪功能的应用

    在互联网和连接的世界里,nb-iot风靡一时.企业和个人正在利用nb-iot技术和nb-iot设备的可靠,快速连接能力,对其技术系统进行渐进式更改,并创建一个互联的"智能"世界. ...

  2. python数据类型之Number(数字)

    一.Number(数字) 关注公众号"轻松学编程"了解更多. 数据类型 ​ 为什么会有不同的数据类型? ​ 计算机是用来做数学计算的机器,因此它可以处理各种数值,但是计算机能够处理 ...

  3. MySQL中没有FULL OUTER JOIN的处理

    FULL OUTER JOIN:SELECT column_name(s)FROM table1FULL OUTER JOIN table2ON table1.column_name=table2.c ...

  4. MIPS学习笔记(一)

    写在前面 本文是根据"MIPS Assembly Language Programming CS50 Discussion and Project Book. Daniel J. Ellar ...

  5. 聊一聊C#基本类型

    C#基本类型 闲来无事,重新温习了下C#基本类型.以下讲的基本类型主要是包括基本的值类型类型和string.struct和class不包含其中. C#基本类型------值类型: bool,byte, ...

  6. 《为研发同学定制的MySQL面试指南》-- 连载中

    Hi大家好,我是来自博客园的赐我白日梦! 为大家带来MySQL面试专题!全文110篇!以问答的方式,由浅入深的帮你应对各类MySQL面试题的狂轰滥炸!当然也不乏会分享一些高阶读写分离数据库中间件原理及 ...

  7. Mongoose Guide(转)

    转自:http://www.w3c.com.cn/mongoose-guide Queries 文件可以通过一些静态辅助模型的方法检索. 任何涉及 指定 查询 条件的模型方法,有两种执行的方式: 当一 ...

  8. ubuntu 18.04 安装anaconda

    ubuntu 安装anaconda 4版本 为了学习 tensorflow python3.5 版本 使用anaconda 安装: https://mirrors.tuna.tsinghua.edu. ...

  9. Redis缓存穿透和雪崩

    缓存穿透 用户想要查询一个数据 在redis缓存数据库中没有获取到 就会向后端的数据库中查询. 当用户很多 都去访问后端数据库的话,这就会给数据库带来很大的压力. 常见场景:秒杀活动 等 解决方法: ...

  10. php执行exec、xsell_exec命令失败

    在php.ini下进行更改 查找disable_function 去掉exec xsell_exec 重启php