C/C++教程

centos 7 Impala cdh6.3.3源码编译

本文主要是介绍centos 7 Impala cdh6.3.3源码编译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

impala git地址:https://github.com/cloudera/Impala (这里可以看到impala目前的各个版本)
impala源码下载地址如下
https://codeload.github.com/cloudera/Impala/zip/cdh5-2.12.0_5.16.1
https://codeload.github.com/cloudera/Impala/zip/cdh6.3.3

上传到/home/check/impala_src目录
unzip Impala-cdh6.3.3.zip

vi bin/bootstrap_system.sh修改该文件(原始的ant和maven下载网址已经无法访问)
把Ant的下载地址换成如下地址,注释掉 sha512sum 校验,并且在wget时加上--no-check-certificate选项(否则会提示Issued certificate has expired,use no-check-certificate):
命令为:wget -nv --no-check-certificate https://dlcdn.apache.org/ant/binaries/apache-ant-1.10.12-bin.tar.gz

把Maven的下载地址换成如下地址,并注释掉 sha512sum 校验,同样加上--no-check-certificate选项:
wget -nv --no-check-certificate https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz

因为在bootstrap_system.sh中会去下载impala-lzo和hadoop-lzo,可以提前本地下载好(否则脚本执行下载时很有可能超时失败),然后放在$IMPALA_HOME下面,分别为Impala-lzo和hadoop-lzo(配置文件中是这样命名的)
git clone --branch master https://github.com/cloudera/impala-lzo.git

git clone https://github.com/cloudera/hadoop-lzo.git

在bin/bootstrap_toolchain.py中加入如下代码,否则会报错: 'ascii' codec can't encode character u'\u2018' in position 558: ordinal not in range(128)
reload(sys)
sys.setdefaultencoding('utf-8')

执行编译
export IMPALA_HOME=/home/check/impala_src/Impala-cdh6.3.3
cd $IMPALA_HOME
./bin/bootstrap_system.sh
source bin/impala-config.sh
./buildall.sh -noclean -notests

有关bin/bootstrap_toolchain.py,要作如下修改
1、在脚本开头加上如下两条语句
reload(sys)
sys.setdefaultencoding('utf-8')
否则会报错: 'ascii' codec can't encode character u'\u2018' in position 558: ordinal not in range(128)

2、并注释掉有关download_cdh_components的代码,与之相关的依赖包为如下5个(否则会去官网下载文件,现在官网不让免费下载了,可以自行去文末的链接中找到,然后上传到toochain目录下)
把下列5个文件上传到toolchain/cdh_components-下,然后依次用tar命令解压
hadoop-3.0.0-cdh6.x-SNAPSHOT.tar.gz
hbase-2.1.0-cdh6.x-SNAPSHOT.tar.gz
hive-2.1.1-cdh6.x-SNAPSHOT.tar.gz
kudu-1.10.0-cdh6.x-SNAPSHOT.tar.gz
sentry-2.1.0-cdh6.x-SNAPSHOT.tar.gz
然后依次用mv更名,否则可能会报诸如HDFS_INCLUDE_DIR-NOTFOUND一类错误
mv hadoop-3.0.0-cdh6.x-SNAPSHOT hadoop-3.0.0-cdh6.3.3-
mv hbase-2.1.0-cdh6.x-SNAPSHOT hbase-2.1.0-cdh6.3.3-
mv hive-2.1.1-cdh6.x-SNAPSHOT hive-2.1.1-cdh6.3.3-
mv kudu-1.10.0-cdh6.x-SNAPSHOT kudu-1.10.0-cdh6.3.3-
mv sentry-2.1.0-cdh6.x-SNAPSHOT/ sentry-2.1.0-cdh6.3.3-

发现错误过程如下:

1、首先页面报如下错误

 2、去查看cmake_modules/FindHDFS.cmake文件

 3、查找HADOOP_INCLUDE_DIR环境变量的值

 由上图所示,因此需要把解压后的hadoop-3.0.0-cdh6.x-SNAPSHOT改为hadoop-3.0.0-cdh6.3.3-

 

编译前,总计27个文件,如下图所示:

 参见

1、https://blog.csdn.net/qqqq0199181/article/details/98515118
2、https://www.cnblogs.com/liuzx8888/p/12290804.html
感谢liuzx8888这位作者提供的云盘下载地址
链接:https://pan.baidu.com/s/1TCGTW0QS00zJi8iGsn5bmQ
提取码:rzkx

这篇关于centos 7 Impala cdh6.3.3源码编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!