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

三、編譯

同上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM