impala编译
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编译的更多相关文章
- cloudera impala编译 安装 配置 启动
无论是采用GDB调试impala或者尝试修改impala源码,前提都是需要本地环境编译impala,这篇文章详细的分享一下impala编译方法以及编译过程遇到的棘手的问题: 前言: impala官方的 ...
- impala记录-安装kudu和impala
1.配置/etc/yum.repos.d clouder-kudu.repo [cloudera-kudu]# Packages for Cloudera's Distribution for kud ...
- 编译impala、拓展impala语法解析模块
以前也编译过,但是每次编译都忘记怎么做,然后都得重新找需要下载的文件. 编译文件:buildall.sh 如果想只编译前端可以这样运行: buildall.sh -fe_only 编译时会去S3下载一 ...
- Impala 3.3.0 源码编译安装
最新编译Apache-impala 的心酸历程.大概花了10天才整好,极度的崩溃!!!由于国内的上网环境大家都懂的,访问国外的s3.amazonaws.com一些资源库的速度极其感人,尤其 ...
- 《开源大数据分析引擎Impala实战》目录
当当网图书信息: http://product.dangdang.com/23648533.html <开源大数据分析引擎Impala实战>目录 第1章 Impala概述.安装与配置.. ...
- TPCH Benchmark with Impala
1. 生成测试数据在TPC-H的官网http://www.tpc.org/tpch/上下载dbgen工具,生成数据http://www.tpc.org/tpch/spec/tpch_2_17_0.zi ...
- Impala与Hive的比較
1. Impala架构 Impala是Cloudera在受到Google的Dremel启示下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的Hive+MapReduce批 ...
- Impala 1、Impala理论
1.Impala简介 • Cloudera公司推出,提供对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能. • 基于Hive使用内存计算,兼顾数据仓库.具有实时.批处理.多并发等优点 ...
- 初识 Cloudera Impala
Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据.已有的Hive系统尽管也提供了SQL语义,但因为Hive底层 ...
随机推荐
- Java里的equals总结
前段时间一直在工作中使用Java,由于有一些C++功底,于是简单看了一下Java相关的语法便开始编写代码,结果在创建一个自定义类,并将自定义类放入ArrayList中,之后查找ArrayList是否有 ...
- 个性化定制——物流app
众所周知,在互联网不断迈进的大环境下,各行各业都不免在这大潮下纷纷卷入.人们早已不再满足于传统行业,即便是所谓的新兴行业所带来的体验,他们更多的希望能够在便捷的基础上获取更加个性化的服务,个性化服务在 ...
- PHP设计模式笔记五:策略模式 -- Rango韩老师 http://www.imooc.com/learn/236
策略模式 1.概述:策略模式,将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,这种模式称为策略模式 例如:一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不 ...
- 分享几个社交类网站常用并且也是最好用的jquery类库
官网都有详细的文档说明,大家自行百度谷歌哈! artZoom:常用于微博,支持图片放大缩小旋转 AutoComplete:自动完成 BackTop:当内容多时出现“返回顶部” CFUpload:批量上 ...
- c++ 11 多线程教学(1)
本篇教学代码可在GitHub获得:https://github.com/sol-prog/threads. 在之前的教学中,我展示了一些最新进的C++11语言内容: 1. 正则表达式(http://s ...
- JavaScript深拷贝和浅拷贝
1. 基本类型 和 对象类型 他们最大的区别就是在于他们的传值方式. 基本类型是传值 对象类型就是传引用. 这里复制一份obj叫做obj2, 这里修改了obj2的b为100 同时也修改了obj1.b. ...
- KVO的概述的使用
一,概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知.简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应 ...
- 页面全部加载完毕和页面dom树加载完毕
dom树加载完毕 $(document).ready()//原生写法document.ready = function (callback) { ///兼容FF,Google ...
- 老生常谈的Javascript作用域问题
在前端学习中,作用域这个问题一直被广泛提起,什么是作用域,什么又是作用域链?在Javascript中,怎么去理解这些概念都是学好这门语言的关键,所以在学习前端开发的过程中,我需要也很有必要去学习和总结 ...
- RDLC报表上下标实现
例:m的6次方 ="M"&ChrW(8310) Character Name Character Num Entity Hex Entity Superscript Cha ...