Ambari2.7.6源碼編譯


0.編譯環境和基本軟件安裝說明

  • cent os 7.5
  • maven 3.3.9

由於編譯環境有關jar包不容易找到(storm-core-0.10.0.2.3.0.0-2557.jar、zookeeper-3.4.5.1.3.0.0-107.jar、zookeeper-3.4.6.2.3.0.0-2557.jar)。貼出ambari編譯的maven repository,將該repository替換成.m2/repostiroy目錄即可。

repository.tar.gz

提取碼:ambari

1. 搭建http服務環境

安裝過程會嘗試從網絡上現在hadoop-3.1.1.tar.gz、hbase-2.0.2.tar.gz、grafana-6.7.4.linux-amd64.tar.gz及apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz,制作本地http服務可加速。

yum -y install httpd
systemctl enable httpd
systemctl start httpd

安裝包的下載路徑如下:

將上述文件移至/var/www/html/compile-ambari目錄下,需要新建compile-ambari目錄

mkdir -p /var/www/html/compile-ambari
vi /etc/selinux/config
 
SELINUX=disabled

關閉防火牆、selinux

systemctl stop firewalld
systemctl dsable firewalld
setenforce 0

測試httpd訪問連通性

image-20220415101059136

2. 搭建編譯環境

2.1 配置Java環境

vi /etc/porfile

export JAVA_HOME=/usr/local/jdk_1.8
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

2.2 配置Maven環境

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /usr/local

mv apache-maven-3.3.9-bin maven_3.3.9
vi /etc/porfile

export MAVEN_HOME=/usr/local/maven_3.3.9
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

source /etc/profile

maven repo切換為國內華為源

cd $MAVEN_HOME/conf
vi settings.xml

<mirror>
    <id>huaweicloud</id>
    <mirrorOf>*</mirrorOf>
    <url>https://repo.huaweicloud.com/repository/maven/</url>
</mirror>

2.3 rpm依賴下載

yum -y install rpm
yum -y install rpm-build 
yum -y install gcc-c++

2.4 python2環境檢查

# 檢查python版本,低於2.6的重新安裝
python -V 
# 初始化python-devel
  yum install python-devel

2.5安裝git

yum install git

2.6 安裝python setuptools

wget https://pypi.python.org/packages/45/29/8814bf414e7cd1031e1a3c8a4169218376e284ea2553cc0822a6ea1c2d78/setuptools-36.6.0.zip

unzip setuptools-36.6.0.zip
cd setuptools-36.6.0
python setup.py install

3.下載Ambari源碼

下載ambari源碼

wget https://repo.huaweicloud.com/apache/ambari/ambari-2.7.6/apache-ambari-2.7.6-src.tar.gz
tar -zxvf apache-ambari-2.7.6-src.tar.gz
cd apache-ambari-2.7.6-src

修改ambari-metrics/pom.xml文件,將habse、hadoop、phoenix和grafana的下載路徑進行替換。

<hbase.tar>http://192.168.2.174/compile-ambari/hbase-2.0.2-bin.tar.gz</hbase.tar><hadoop.tar>http://192.168.2.174/compile-ambari/hadoop-3.1.1.tar.gz</hadoop.tar>
<grafana.tar>http://192.168.2.174/compile-ambari/grafana-6.7.4.linux-amd64.tar.gz</grafana.tar>
<phoenix.tar>http://192.168.2.174/compile-ambari/apache-phoenix-5.0.0-HBase-2.0-

執行編譯命令

mvn -B clean install package rpm:rpm -DnewVersion=2.7.6.0.0 -DskipTests -Drat.skip -Dpython.ver="python >= 2.7" -Preplaceurl 

-e 參數可以打印具體編譯過程報錯信息

可以得到

image-20220415172400239

4.相關問題及解決

無法訪問org.json.simple.JSONAware

在ambari-metrics-storm-sink-legacy中pom.xml中添加依賴。

<dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1</version>
</dependency>

卡在 [INFO] Downloading https://github.com/yarnpkg/yarn/releases/download/v0.23.2/yarn-v0.23.2.tar.gz to /root/.m2/repository/com/github/eirslett/yarn/0.23.2/yarn-0.23.2./yarn-v0.23.2.tar.gz

連接到github並下載yarn-v0.23.2.tar.gz,放到對應maven目錄中


[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.4:yarn (yarn install) on project ambari-web: Failed to run task: 'yarn install --ignore-engines --pure-lockfile' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]

連接github下載node_modules無法連接,建議在網絡情況好的時候,重新編譯。


[ERROR] error /root/apache-ambari-2.7.6-src/ambari-web/node_modules/phantomjs-prebuilt: Command failed.
[ERROR] Exit code: 1
[ERROR] Command: sh
[ERROR] Arguments: -c node install.js
[ERROR] Directory: /root/apache-ambari-2.7.6-src/ambari-web/node_modules/phantomjs-prebuilt
[ERROR] Output:
[ERROR] PhantomJS not found on PATH
[ERROR] Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
[ERROR] Saving to /tmp/npm_config_tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
[ERROR] Receiving...
[ERROR]
[ERROR] Error making request.
[ERROR] Error: socket hang up
[ERROR]     at TLSSocket.onHangUp (_tls_wrap.js:1054:19)
[ERROR]     at TLSSocket.g (events.js:260:16)
[ERROR]     at emitNone (events.js:72:20)
[ERROR]     at TLSSocket.emit (events.js:166:7)
[ERROR]     at endReadableNT (_stream_readable.js:921:12)
[ERROR]     at nextTickCallbackWith2Args (node.js:442:9)
[ERROR]     at process._tickCallback (node.js:356:17)
[ERROR]
[ERROR] Please report this full log at https://github.com/Medium/phantomjs

連接github去下載phantomjs-2.1.1-linux-x86_64.tar.bz2失敗,需要手動去將phantomjs-2.1.1-linux-x86_64.tar.bz2下載到/tmp/npm_config_tmp/phantomjs/目錄下

cd /tmp/npm_config_tmp/phantomjs/
wget https://npm.taobao.org/mirrors/phantomjs//phantomjs-2.1.1-linux-x86_64.tar.bz2

參考博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM