impala编译 编译系统centos 5.10

说明:版本1.3.x----2.1.x都能编译

一、预装库

1.gcc安装

yum install gcc44

yum install gcc44-c++

下面的单独安装在编译过程中会与系统自带的低版本冲突

mpc-0.9.tar.gz

mpfr-3.1.2.tar.gz

gmp-5.0.1.tar.bz2

gcc-4.4.7.tar.gz

gcc-g++-4.4.7.tar.gz

http://blog.sina.com.cn/s/blog_868618f00101ij4a.html

注:安装之后中需要将原来的/usr/bin 下的4.1.2的cc,gcc 指向4.4.7版本

并且指向的是 /usr/bin/x86_64-redhat-linux6E-gcc44而不是gcc44

g++同样指向/usr/bin/x86_64-redhat-linux6E-g++44

卸载掉gcc-c++,它是4.1.2版本。因为有在编译时使用的有可能是c++而不是g++编译器,造成版本过低会引起无法识别msse4.2参数。具体情况没有证明,我只是把它卸载了。

2.boost库安装

boost_1_53_0.tar.gz

安装到系统默认路径

编译参数

./bjam   --toolset=gcc  --layout=tagged --build-type=complete     --with-regex  --with-system  --with-thread  --with-filesystem install --with-date_time

3.其它库安装

git-1.9.4.tar.gz  ./configure  --prefix=/usr/local/git-1.9.2

Python-2.7.8.tgz  ./configure  --prefix=/usr/local/python-2.7.8

lzo-2.06.tar.gz  ./configure  --enable-shared

yum install cmake libtool zlib-devel openssl-devel bzip2-devel cyrus-sasl-devel

下面的两个LZO库直接解压

hadoop-lzo-0.4.15-gplextras5.0.1-SNAPSHOT.tar.gz

hadoop-lzo-release-0.4.19.tar.gz

impala-lzo-1.3.1-gplextras5.0.1-SNAPSHOT.tar.gz

文件下载地址

http://archive.cloudera.com/gplextras/

不同操作系统下对应的rpm包找到后直接解压就会找到jar包。

4.工具安装

jdk-6u45-linux-x64.bin

apache-maven-3.0.4-bin.tar.gz

setuptools-0.6c11.tar.gz 此工具用来编译python脚本

安装过程:

tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install

5 .LLVM安装

llvm-3.3.src.tar.gz, cfe-3.3.src.tar.gz,
compiler-rt-3.3.src.tar

所需要的包以及放位置参考或文档《LLVM编译安装.txt》

有一个已经将以上三个包打好的完全源码包vip-llvm-3.3.src.tar

直接解压可编译安装

http://clang.llvm.org/get_started.html

二、环境变量

其它库的环境变量是否需要看安装路径,如果安装在默认路径就不需要,以下库安装在指定路径,其它库在默认路径

export GIT_HOME=/usr/local/git-1.9.2

export HADOOP_LZO=/root/hadoop-lzo-0.4.15

export IMPALA_LZO=/root/impala-lzo-1.3.1

export PYTHON2_HOME=/usr/local/python-2.7.8

export MAVEN_HOME=/root/apache-maven-3.0.4

export JAVA_HOME=/root/jdk

export
PATH=$GIT_HOME/bin:$PYTHON2_HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

三、编译

./buildall.sh  -noclean  -skiptests  -codecoverage_release  -codecoverage_debug

错误0:

/usr/local/lib/../lib/libstdc++.so:
could not read symbols: File in wrong format

表示没有安装boost库到标准路径,而直接使用了标准C++造成的,直接将上面编译boosts时安装到标准路径

错误一:

/home/flh/impala-1.3.0-cdh5.0.0/be/src/statestore/failure-detector.cc:
In member function ‘virtual impala::FailureDetector::PeerState
impala::TimeoutFailureDetector::UpdateHeartbeat(const std::string&, bool)’:

/home/flh/impala-1.3.0-cdh5.0.0/be/src/statestore/failure-detector.cc:41:
错误:‘lock_guard’
在此作用域中尚未声明

解决:修改头文件failure-detector.h加入#include <boost/thread/lock_guard.hpp>

错误二:

/home/flh/boost_1_53_0/build/include/boost/move/core.hpp:48:
错误:放松 ‘boost::rv<T>::~rv()
[with T = impala::TNetworkAddress]’ 的 throw 限定

/home/flh/impala-1.3.0-cdh5.0.0/be/generated-sources/gen-cpp/Types_types.h:180: 错误:  覆盖了 ‘virtual
impala::TNetworkAddress::~TNetworkAddress() throw ()’

解决:Types_types.h头文件中产生的所有类的析构函数的后面的throw() 关键词去掉

错误三:

/home/flh/impala-1.3.0-cdh5.0.0/be/src/util/simple-logger.cc:
In member function ‘impala::Status impala::SimpleLogger::AppendEntry(const
std::string&)’:

/home/flh/impala-1.3.0-cdh5.0.0/be/src/util/simple-logger.cc:77:
错误:‘lock_guard’
在此作用域中尚未声明

解决:修改头文件simple-logger.h添加#include <boost/thread/lock_guard.hpp>

错误四:

/home/flh/impala-1.3.0-cdh5.0.0/be/src/transport/TSaslServerTransport.cpp:
In member function ‘virtual
boost::shared_ptr<apache::thrift::transport::TTransport> apache::thrift::transport::TSaslServerTransport::Factory::getTransport(boost::shared_ptr<apache::thrift::transport::TTransport>)’:

/home/flh/impala-1.3.0-cdh5.0.0/be/src/transport/TSaslServerTransport.cpp:110:
错误:‘lock_guard’ is not a member of ‘boost’

解决:修改头文件TSaslServerTransport.h添加#include <boost/thread/lock_guard.hpp>

Impala 编译6.5以上系统

一、预装库

1.gcc编译器安装

yum install gcc

yum install gcc-c++

默认都是4.4.7版本

2.boost库安装

同上

3.其它库安装

同上

4.工具安装

同上

5.LLVM安装

同上

如果有错误,删除了多编译几次

二、环境变量

其它库的环境变量是否需要看安装路径,如果安装在默认路径就不需要,以下库安装在指定路径,其它库在默认路径

export
HADOOP_LZO=/root/hadoop-lzo-0.4.15

export IMPALA_LZO=/root/impala-lzo-1.3.1

export PYTHON2_HOME=/usr/local/python-2.7.8

export MAVEN_HOME=/root/apache-maven-3.0.4

export JAVA_HOME=/root/jdk

export
PATH=$PYTHON2_HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

三、编译

同上

impala编译的更多相关文章

  1. cloudera impala编译 安装 配置 启动

    无论是采用GDB调试impala或者尝试修改impala源码,前提都是需要本地环境编译impala,这篇文章详细的分享一下impala编译方法以及编译过程遇到的棘手的问题: 前言: impala官方的 ...

  2. impala记录-安装kudu和impala

    1.配置/etc/yum.repos.d clouder-kudu.repo [cloudera-kudu]# Packages for Cloudera's Distribution for kud ...

  3. 编译impala、拓展impala语法解析模块

    以前也编译过,但是每次编译都忘记怎么做,然后都得重新找需要下载的文件. 编译文件:buildall.sh 如果想只编译前端可以这样运行: buildall.sh -fe_only 编译时会去S3下载一 ...

  4. Impala 3.3.0 源码编译安装

          最新编译Apache-impala 的心酸历程.大概花了10天才整好,极度的崩溃!!!由于国内的上网环境大家都懂的,访问国外的s3.amazonaws.com一些资源库的速度极其感人,尤其 ...

  5. 《开源大数据分析引擎Impala实战》目录

    当当网图书信息: http://product.dangdang.com/23648533.html <开源大数据分析引擎Impala实战>目录 第1章  Impala概述.安装与配置.. ...

  6. TPCH Benchmark with Impala

    1. 生成测试数据在TPC-H的官网http://www.tpc.org/tpch/上下载dbgen工具,生成数据http://www.tpc.org/tpch/spec/tpch_2_17_0.zi ...

  7. Impala与Hive的比較

    1. Impala架构        Impala是Cloudera在受到Google的Dremel启示下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的Hive+MapReduce批 ...

  8. Impala 1、Impala理论

    1.Impala简介 • Cloudera公司推出,提供对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能. • 基于Hive使用内存计算,兼顾数据仓库.具有实时.批处理.多并发等优点 ...

  9. 初识 Cloudera Impala

    Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据.已有的Hive系统尽管也提供了SQL语义,但因为Hive底层 ...

随机推荐

  1. poj3358:欧拉定理

    又是一道用欧拉定理解的题..嗯,关键还是要建好方程,注意一些化简技巧 题目大意: 给定一个由 p / q 生成的循环小数,求此循环小数在二进制表示下的最小循环节以及不是循环节的前缀 思路: 小数化为二 ...

  2. Java Spring各种依赖注入注解的区别

    Spring对于Bean的依赖注入,支持多种注解方式: @Resource javax.annotation JSR250 (Common Annotations for Java) @Inject ...

  3. 编写高质量代码改善python程序91个建议学习01

    编写高质量代码改善python程序91个建议学习 第一章 建议1:理解pythonic的相关概念 狭隘的理解:它是高级动态的脚本编程语言,拥有很多强大的库,是解释从上往下执行的 特点: 美胜丑,显胜隐 ...

  4. wpf新增记录时用多线程的问题

    多线程虽然可以增加用户操作体验,但是有时候会出现意想不到的错误. 如果采用分布式,数据库在另外服务器上,当网络出现问题,或者数据库繁忙,那么新增数据就会等待,这时候用户如果以为没有操作,而多次点击新增 ...

  5. linux系统批量无人值守安装

    一:批量无人值守安安装原理 利用DHCP TFTP FTP和PXE技术实现批量安装系统,首先在主server上安装好DHCP TFTP和FTP服务,client通过网卡的PXE技术获取到IP地址和TF ...

  6. QT5 r 加入qwtplot3d 三维库

          qwtplot3d是基于QtOpenGL开发的,也是qwt库的三维库,我使用的是qwtplot3d-0.2.7.zip版本.   步骤跟编译qwt库一样(不明白可以看回前面写的一篇文章“Q ...

  7. shell读取文件参数

    环境 csh 说明 通常我们需要使用使用shell脚本处理一些事务,每次调用shell都需要添加参数. 如果重复调用多次这个shell脚本,我们可以将参数存入指定文件,循环得到参数. shell脚本( ...

  8. iphone开发 IOS 组织架构图

    转载自 :http://blog.csdn.net/mashi321323/article/details/18267719   登录|注册     mashi321323的专栏       目录视图 ...

  9. C#中的一些复习。

    摘自http://www.cnblogs.com/yuchengping/p/3151537.html 等日后自己来完善. 基本概念 1..NET是平台,C#是.NET上的一门语言. 2.C#的异常处 ...

  10. alt和title的用法区别

    经常用到这两个属性,但是一直没有总结他们的区别.现在我对他们两个的用法做一下总结: 相同点:他们都会飘出一个小浮层,显示文本内容. 不同点: 1.alt只能是元素的属性,而title即可以是元素的属性 ...