前言
接上篇环境准备,环境准备好以后就可以开始bigtop大数据组件编译了,建议使用科学上网方式,降低网络连接报错,主要网络报错出现在nodejs npm yarn bower等前端资源的下载上。搞定网络问题后,按本文的方式可以完成大数据相关组件的编译,编译后生成的rpm包在output目录中,包含源码rpm和二进制rpm
组件编译
1.下载bigtop源码
git clone https://github.com/apache/bigtop.git
2.修改bigtop.bom配置
修改配置的目的主要为了使用国内镜像源加速
cd bigtop
vi bigtop.bom
第96行 scala version修改成2.12.17
第99行 mirror地址修改成https://repo.huaweicloud.com/apache
第100行 archive地址修改成https://mirrors.aliyun.com/apache
3.编译hadoop
先要安装前置依赖,再编译
#安装前置依赖
yum -y install fuse-devel cmake cmake3 lzo-devel openssl-devel protobuf* cyrus-*
cp /usr/bin/cmake3 /usr/bin/cmake
#编译
./gradlew hadoop-rpm -PparentDir=/usr/bigtop
4.编译zookeeper
先要安装前置依赖,再编译
#安装前置依赖
yum -y install cppunit-devel
#编译
./gradlew zookeeper-rpm -PparentDir=/usr/bigtop
5.编译hive
./gradlew hive-rpm -PparentDir=/usr/bigtop
6.编译hbase
./gradlew hbase-rpm -PparentDir=/usr/bigtop
7.编译phoenix
./gradlew phoenix-rpm -PparentDir=/usr/bigtop
8.编译kafka
./gradlew kafka-rpm -PparentDir=/usr/bigtop
9.编译spark
#安装前置依赖
yum -y install R* harfbuzz-devel fribidi-devel libcurl-devel libxml2-devel freetype-devel libpng-devel libtiff-devel libjpeg-turbo-devel pandoc* libgit2-devel
#安装R语言相关包
Rscript -e "install.packages(c('knitr', 'rmarkdown', 'devtools', 'testthat', 'e1071', 'survival'), repos='http://mirrors.tuna.tsinghua.edu.cn/CRAN/')"
#编译
./gradlew spark-rpm -PparentDir=/usr/bigtop
10.编译flink
#下载flink源码包
./gradlew flink-download
#解压flink源码
cd dl
tar -zxvf flink-1.15.0.tar.gz
#修改pom文件
vi flink-1.15.0/flink-runtime-web/pom.xml
在275行 nodeVersion改为v12.22.1
在276行 npmVersion改为6.14.12
#重新打包flink源码
tar -zcvf flink-1.15.0.tar.gz flink-1.15.0
#编译
./gradlew flink-rpm -PparentDir=/usr/bigtop
11.编译tez
#下载tez源码包
./gradlew tez-download
#解压tez源码
cd dl
tar -zxvf apache-tez-0.10.1-src.tar.gz
#修改pom文件
vi apache-tez-0.10.1-src/tez-ui/pom.xml
在37行 allow-root-build改为--allow-root=true
#重新打包tez源码
tar -zcvf apache-tez-0.10.1-src.tar.gz apache-tez-0.10.1-src
#编译
./gradlew tez-rpm -PparentDir=/usr/bigtop
12.编译bigtop-ambari-mpack
./gradlew bigtop-ambari-mpack-rpm -PparentDir=/usr/bigtop
13.编译bigtop-groovy
./gradlew bigtop-groovy-rpm -PparentDir=/usr/bigtop
14.编译bigtop-jsvc
./gradlew bigtop-jsvc-rpm -PparentDir=/usr/bigtop
15.编译bigtop-select
./gradlew bigtop-select-rpm -PparentDir=/usr/bigtop
16.编译bigtop-utils
./gradlew bigtop-utils-rpm -PparentDir=/usr/bigtop
17.编译ranger
./gradlew ranger-rpm -PparentDir=/usr/bigtop
18.编译solr
./gradlew solr-rpm -PparentDir=/usr/bigtop
19.编译zeppelin
#下载zeppelin源码包
./gradlew zeppelin-download
#解压zeppelin源码
cd dl
tar -zxvf zeppelin-0.10.1.tar.gz
#修改pom文件
vi zeppelin-0.10.1/pom.xml
在209行plugin.gitcommitid.useNativeGit改为true
vi zeppelin-0.10.1/spark/pom.xml
在50行spark.src.download.url改为https://repo.huaweicloud.com/apache/spark/${spark.archive}/${spark.archive}.tgz
在53行spark.bin.download.url改为https://repo.huaweicloud.com/apache/spark/${spark.archive}/${spark.archive}-bin-without-hadoop.tgz
vi zeppelin-0.10.1/rlang/pom.xml
在41行spark.src.download.url改为https://repo.huaweicloud.com/apache/spark/${spark.archive}/${spark.archive}.tgz
在44行spark.bin.download.url改为https://repo.huaweicloud.com/apache/spark/${spark.archive}/${spark.archive}-bin-without-hadoop.tgz
vi zeppelin-0.10.1/flink/flink-scala-parent/pom.xml
在45行flink.bin.download.url改为https://repo.huaweicloud.com/apache/flink/flink-${flink.version}/flink-${flink.version}-bin-scala_${flink.scala.binary.version}.tgz
#重新打包zeppelin源码
tar -zcvf zeppelin-0.10.1.tar.gz zeppelin-0.10.1
#编译
./gradlew zeppelin-rpm -PparentDir=/usr/bigtop
版权归原作者 泽芯 所有, 如有侵权,请联系我们删除。