Cloudera Impala源码编译

Cloudera Impala 是一个运行在HDFS 和 HBase 上的执行分布式查询的引擎。该源是我们内部开发版本的一个快照,我们会定期进行版本更新。

这个README文档描述了怎样利用该源来构建Cloudera impala,更多的文档请看这里:
https://ccp.cloudera.com/display/IMPALA10BETADOC/Cloudera+Impala+1.0+Beta+Documentation

在CentOS 6.2上构建 Cloudera impala

前提条件:
安装必要的包:
sudo yum install boost-test boost-program-options libevent-devel automake libtool flex bison gcc-c++ openssl-devel \
make cmake doxygen.x86_64 glib-devel boost-devel python-devel bzip2-devel svn libevent-devel cyrus-sasl-devel \
wget git unzip
安装 Thrift 0.7.0
Note:以后我们会支持更新版本的 Thrift,但是现在我们只针对0.7.0做过测试
wget http://archive.apache.org/dist/thrift/0.7.0/thrift-0.7.0.tar.gz
tar xvzf thrift-0.7.0.tar.gz
cd thrift-0.7.0
chmod 755 configure
./configure --with-pic
make
sudo make install
cd contrib/fb303
chmod 755 ./bootstrap.sh
./bootstrap.sh
chmod 755 configure
./configure
make
sudo make install


安装 LLVM
wget http://llvm.org/releases/3.0/llvm-3.0.tar.gz
tar xvzf llvm-3.0.tar.gz
cd llvm.3.0.src/tools
svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_30/final/ clang
cd ../projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_30/final/ compiler-rt
cd ..
./configure --with-pic
make
sudo make install


安装jdk
确定安装的是 Oracle Java Development Kit 6 ,而且环境变量已经设置
http://blog.csdn.net/larrylgq/article/details/7261187


安装 Maven
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.0.4/binaries/apache-maven-3.0.4-bin.tar.gz
tar xvf apache-maven-3.0.4.tar.gz && sudo mv apache-maven-3.0.4 /usr/local
添加环境变量到.bashrc
export M2_HOME=/usr/local/apache-maven-3.0.4
export M2=$M2_HOME/bin 
export PATH=$M2:$PATH
执行:
source ~/.bashrc
mvn -version
打印:
Apache Maven 3.0.4 (r1232337; 2012-01-17 16:44:56+0800)
Maven home: /usr/local/apache-maven-3.0.4
Java version: 1.7.0, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-279.14.1.el6.x86_64", arch: "amd64", family: "unix"


clone impala的源码
git clone https://github.com/cloudera/impala.git
clone下来后需要修改文件的所有者为当前安装用户(默认为root)


设置impala环境变量
cd impala
. bin/impala-config.sh
确认环境变量:
env | grep "IMPALA.*VERSION"
打印:
IMPALA_CYRUS_SASL_VERSION=2.1.23
IMPALA_HBASE_VERSION=0.92.1-cdh4.1.0
IMPALA_SNAPPY_VERSION=1.0.5
IMPALA_GTEST_VERSION=1.6.0
IMPALA_GPERFTOOLS_VERSION=2.0
IMPALA_GFLAGS_VERSION=2.0
IMPALA_GLOG_VERSION=0.3.2
IMPALA_Hadoop_VERSION=2.0.0-cdh4.1.0
IMPALA_HIVE_VERSION=0.9.0-cdh4.1.0
IMPALA_MONGOOSE_VERSION=3.3
IMPALA_THRIFT_VERSION=0.7.0


下载所需的第三方包
cd thirdparty
./download_thirdparty.sh


构造impala
cd ${IMPALA_HOME}
./build_public.sh -build_thirdparty


打包
成功构建之后,在${IMPALA_HOME}/be/build/debug/service下应该有一个二进制版本的包
你可以运行以下脚本来启动一个impala后台
${IMPALA_HOME}/bin/start-impalad.sh -use_statestore=false
Note:start-impalad.sh 设置了impala成功运行所必须的环境变量


配置 impala 使用 HDFS,HBase或者 Hive metastore,将有关的配置文件通过bin/set-classpath.sh存放在CLASSPATH。我们在内部使用fe/src/test/resources就是为了这个目的。


impala shell
impala shell是一个方便的命令接口,你可以这样从源程序启动它:

${IMPALA_HOME}/bin/impala-shell.sh

相关阅读:

Cloudera Impala 的详细介绍:请点这里
Cloudera Impala 的下载地址:请点这里

相关推荐