前言
ambari和bigtop聯(lián)合的第一個(gè)發(fā)行版終于出來(lái)了?。?!這是在HDP、CDH大數(shù)據(jù)平臺(tái)閉源后的第一個(gè)開(kāi)源免費(fèi)發(fā)行版的大數(shù)據(jù)平臺(tái)。下面為大家詳細(xì)介紹Centos7下的編譯方法。
組件版本介紹
組件 | 版本 |
Ambari | 2.8.0 |
Ambari-metrics | 3.0.0 |
Hadoop | 3.3.4 |
Hbase | 2.4.13 |
Hive | 3.1.3 |
Tez | 0.10.1 |
Zookeeper | 3.5.9 |
Kafka | 2.8.1 |
Flink | 1.15.3 |
Spark | 3.2.3 |
Zeppelin | 0.10.1 |
Solr | 8.11.2 |
編譯思路
ambari+bigtop并不是打包在一起的,分別對(duì)應(yīng)三個(gè)項(xiàng)目:ambari、ambari-metrics、bigtop。所以要分別編譯這三個(gè)項(xiàng)目,最后將編譯好的包提取到一起做成鏡像源。另外,bigtop3.2.0不是所有組件都適配了ambari,只需編譯上面表格所適配的組件即可。
編譯環(huán)境
編譯環(huán)境的準(zhǔn)備工作在之前文章里已經(jīng)寫(xiě)過(guò),請(qǐng)參考《編譯環(huán)境準(zhǔn)備》進(jìn)行配置;編譯時(shí)需要星際網(wǎng)絡(luò),梯子需要自己搞定。
編譯方法
ambari編譯步驟
#git克隆ambari源代碼
git clone https://github.com/apache/ambari.git
#進(jìn)入ambari根目錄
cd ambari
#切換到2.8分支
git checkout -b branch-2.8 origin/branch-2.8
#開(kāi)始編譯
mvn clean install rpm:rpm -DskipTests
ambari-metrics編譯步驟
#git克隆ambari-metrics
git clone https://github.com/apache/ambari-metrics.git
#進(jìn)入ambari-metrics根目錄
cd ambari-metrics
#切換到3.0分支
git checkout -b branch-3.0 origin/branch-3.0
#提前下載編譯時(shí)需要的4個(gè)tar包--有利于編譯加速
wget http://repo.bigtop.apache.org.s3.amazonaws.com/bigtop-stack-binary/3.2.0/centos-7/x86_64/hbase-2.4.13-bin.tar.gz
wget http://repo.bigtop.apache.org.s3.amazonaws.com/bigtop-stack-binary/3.2.0/centos-7/x86_64/hadoop-3.3.4.tar.gz
wget https://dl.grafana.com/oss/release/grafana-9.3.2.linux-amd64.tar.gz
wget http://repo.bigtop.apache.org.s3.amazonaws.com/bigtop-stack-binary/3.2.0/centos-7/x86_64/phoenix-hbase-2.4-5.1.2-bin.tar.gz
#修改ambari-metrics/pom.xml文件,將以上4個(gè)tar包的url修改成剛才下載好的本地路徑
<hbase.tar>file://{下載路徑}/hbase-2.4.13-bin.tar.gz</hbase.tar>
<hadoop.tar>file://{下載路徑}/hadoop-3.3.4.tar.gz</hadoop.tar>
<grafana.tar>file://{下載路徑}/grafana-9.3.2.linux-amd64.tar.gz</grafana.tar>
<phoenix.tar>file://{下載路徑}/phoenix-hbase-2.4-5.1.2-bin.tar.gz</phoenix.tar>
#編譯
mvn clean install -DskipTests -Dbuild-rpm
bigtop編譯步驟
#git克隆bigtop源代碼
git clone https://github.com/apache/bigtop.git
#進(jìn)入bigtop根目錄
cd bigtop
#切換到3.2分支
git checkout -b branch-3.2 origin/branch-3.2
#修改bigtop/bigtop.bom配置 有兩處要修改
#1.修改鏡像源為國(guó)內(nèi)鏡像源 103、104行
APACHE_MIRROR = "https://repo.huaweicloud.com/apache"
APACHE_ARCHIVE = "https://mirrors.aliyun.com/apache"
#2.解開(kāi)bigtop-select組件的注釋 刪除273、281行
#安裝組件編譯所需的依賴(lài)
#1.hadoop依賴(lài)
yum -y install fuse-devel cmake cmake3 lzo-devel openssl-devel protobuf* cyrus-*
cp /usr/bin/cmake3 /usr/bin/cmake
#2.zookeeper依賴(lài)
yum -y install cppunit-devel
#3.spark依賴(lài)
yum -y install R* harfbuzz-devel fribidi-devel libcurl-devel libxml2-devel freetype-devel libpng-devel libtiff-devel libjpeg-turbo-devel pandoc* libgit2-devel
Rscript -e "install.packages(c('knitr', 'rmarkdown', 'devtools', 'testthat', 'e1071', 'survival'), repos='http://mirrors.tuna.tsinghua.edu.cn/CRAN/')"
#修改部分組件源代碼
#1.先下載
./gradlew tez-download zeppelin-download flink-download
#2.進(jìn)入下載目錄
cd dl
#3.解壓這3個(gè)tar
tar -zxvf flink-1.15.3.tar.gz
tar -zxvf apache-tez-0.10.1-src.tar.gz
tar -zxvf zeppelin-0.10.1.tar.gz
#4.修改flink
vi flink-1.15.0/flink-runtime-web/pom.xml ?
在275行 nodeVersion改為v12.22.1?
在276行 npmVersion改為6.14.12
#5.修改tez
vi apache-tez-0.10.1-src/tez-ui/pom.xml
在37行 allow-root-build改為--allow-root=true
#6.修改zeppelin
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
#7.重新打包這3個(gè)tar
tar -zcvf flink-1.15.3.tar.gz flink-1.15.3
tar -zcvf apache-tez-0.10.1-src.tar.gz apache-tez-0.10.1-src
tar -zcvf zeppelin-0.10.1.tar.gz zeppelin-0.10.1
#回到bigtop根目錄
cd ../
#編譯-預(yù)計(jì)需要一個(gè)半小時(shí)以上
./gradlew allclean bigtop-groovy-rpm bigtop-jsvc-rpm bigtop-select-rpm bigtop-utils-rpm flink-rpm hadoop-rpm hbase-rpm hive-rpm kafka-rpm solr-rpm spark-rpm tez-rpm zeppelin-rpm zookeeper-rpm -Dbuildwithdeps=true -PparentDir=/usr/bigtop -PpkgSuffix
制作鏡像
#創(chuàng)建bigdatarepo文件夾-路徑隨意放
mkdir -p bigdatarepo
#將ambari包拷貝
mkdir -p bigdatarepo/ambari
cp ambari/ambari-server/target/rpm/ambari-server/RPMS/x86_64/ambari-server-2.8.0.0-0.x86_64.rpm bigdatarepo/ambari/
cp ambari/ambari-agent/target/rpm/ambari-agent/RPMS/x86_64/ambari-agent-2.8.0.0-0.x86_64.rpm bigdatarepo/ambari/
#將ambari-metrics包拷貝
mkdir -p bigdatarepo/ambari-metrics
cp ambari-metrics/ambari-metrics-assembly/target/rpm/ambari-metrics-collector/RPMS/x86_64/ambari-metrics-collector-3.0.1-1.x86_64.rpm bigdatarepo/ambari-metrics/
cp ambari-metrics/ambari-metrics-assembly/target/rpm/ambari-metrics-grafana/RPMS/x86_64/ambari-metrics-grafana-3.0.1-1.x86_64.rpm bigdatarepo/ambari-metrics/
cp ambari-metrics/ambari-metrics-assembly/target/rpm/ambari-metrics-hadoop-sink/RPMS/x86_64/ambari-metrics-hadoop-sink-3.0.1-1.x86_64.rpm bigdatarepo/ambari-metrics/
cp ambari-metrics/ambari-metrics-assembly/target/rpm/ambari-metrics-monitor/RPMS/x86_64/ambari-metrics-monitor-3.0.1-1.x86_64.rpm bigdatarepo/ambari-metrics/
#將bigtop包拷貝
cp -r bigtop/output/* bigdatarepo/
#制作鏡像源
createrepo bigdatarepo/
寫(xiě)在最后文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-511384.html
按以上步驟執(zhí)行,就可以成功編譯了,不過(guò)一定要注意網(wǎng)絡(luò)問(wèn)題。如果覺(jué)得編譯太麻煩,也可以下載我編譯好的包,歡迎一起交流。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-511384.html
echo "編-譯-好-的-包-放-在-群-文-件-里-了"
echo "歡-迎-加-Q-Q-群-進(jìn)-行-交-流"
echo "7-2-2-0-1-4-9-1-2"
到了這里,關(guān)于ambari2.8.0+bigtop3.2.0發(fā)行版大數(shù)據(jù)平臺(tái)編譯指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!