最近因为工作需要需要编译impala,去官网找编译步骤,我去!就一句话:
然后在网上找教程,好家伙,找了一大堆文章,没有一个能然我顺利编译成功的。
做人果然还是要靠自己啊,我就从bin/bootstrap_build.sh这个编译脚本开始。历经各种坑,总算是编译部署成功。下面我将贡献出我的编译与安装步骤,希望能帮助大家少走弯路。
环境
操作系统:centos7.5
impala版本
impala-2.12.0-cdh5.16.1
资源下载
impala源码下载
https://codeload.github.com/cloudera/Impala/zip/cdh5-2.12.0_5.16.1
yum 安装依赖
yum -y install git ant libevent-devel automake libtool flex bison gcc-c++ openssl-devel make cmake
yum -y install doxygen.x86_64 glib-devel python-devel bzip2-devel svn libevent-devel krb5-workstation
yum -y install openldap-devel db4-devel python-setuptools python-pip cyrus-sasl* postgresql postgresql-server ant-nodeps lzo-devel lzop
编译
./buildall.sh -notests -so
部署
需要注意的是,在部署impala之前,需要保证hadoop和hive已经部署并且正确配置,因为impala需要依赖于hive的元数据,而hive依赖于hadoop。
修改start脚本
修改start-statestored.sh
vim /impala/impala-2.12.0-cdh5.16.1/bin/start-statestored.sh
在第一行添加:
source /impala/impala-2.12.0-cdh5.16.1/bin/impala-config.sh
修改STATESTORED_ARGS="-state_store_port=24000"
修改后如下图所示:
修改start-catalogd.sh
vim /impala/impala-2.12.0-cdh5.16.1/bin/start-catalogd.sh
在第一行添加:
source /impala/impala-2.12.0-cdh5.16.1/bin/impala-config.sh
修改后如下图所示:
修改start-impalad.sh
vim /impala/impala-2.12.0-cdh5.16.1/bin/start-impalad.sh
在第一行添加:
source /impala/impala-2.12.0-cdh5.16.1/bin/impala-config.sh
修改IMPALAD_ARGS="
-catalog_service_host=填写主机名
-state_store_port=24000
-use_statestore
-state_store_host=填写主机名
-be_port=22000
-state_store_subscriber_port=26100
-mem_limit=100g "
修改后如下图所示:
修改set-classpath.sh
vim /impala/impala-2.12.0-cdh5.16.1/bin/start-impalad.sh
在CLASSPATH中添加一个路径,该路径下需要有hadoop的core-site.xml hdfs-site.xml hive-site.xml
修改如下:
修改impala-shell.sh
vim /impala/impala-2.12.0-cdh5.16.1/bin/impala-shell.sh
在第一行添加:
source /impala/impala-2.12.0-cdh5.16.1/bin/impala-config.sh
启动impala
按顺序启动impala的3个组件statestored,catalogd,impalad
nohup ./start-statestored.sh &
nohup ./start-catalogd.sh &
nohup ./start-catalogd.sh &
验证
如果部署成功,25000 ,25010,25020三个端口都可以访问
并且运行 ./impala-shell.sh 可以进入impala的shell模式
如果安装部署遇到问题可留言联系我~~