AMbari 2.7コンパイルとインストール


1.環境準備
JDK、maven、ant、postgresql、およびnodejs、npmとbowerをインストールします.ブログ主の関連ブログを参照してください.一部のコンポーネントのダウンロードには科学的なインターネットが必要です.
 uuntu 18.04 LTSのjava 10のインストールと問題の説明
 java総合環境維持
nodejs(npm、bowerを含む)のインストール
centos下のpostgresの取り付け
rpm,rpm-build,gitをインストールします.
sudo yum install rpm
sudo yum install -y rpm-build.x86_64
sudo yum install git
gcc、python環境、バッグ管理ツールおよび依存項目をインストールします.
sudo yum install gcc
sudo yum install gcc-c++
sudo yum -y install python-devel

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo -H python get-pip.py
sudo -H pip install psutil
docker仮想化ツールをインストールして、サポートされているweaveなどのネットワークツールとセットにします.ここでweaveは/usr/binの下に置くことを提案しています.
sudo yum install docker
sudo curl -L git.io/weave -o /usr/bin/weave
sudo chmod a+x /usr/local/bin/weave
補足知識:repoファイルはFedoraの中yumソース(ソフトウェア倉庫)の配置ファイルであり、通常、一つのrepoファイルは一つ以上のソフトウェア倉庫の詳細内容を定義しています.例えば、インストールやアップグレードが必要なパッケージをどこからダウンロードしますか?
2.必要なファイルをダウンロードする
公式サイトに行くhttp://ambari.apache.org/ 最新バージョンのガイドを開けて、ambariファイルをダウンロードし、解凍します.例えば、 
wget http://mirrors.hust.edu.cn/apache/ambari/ambari-2.7.0/apache-ambari-2.7.0-src.tar.gz
tar xfvz apache-ambari-2.7.0-src.tar.gz
mvnでバージョンを設定し、
cd apache-ambari-2.7.0-src
mvn versions:set -DnewVersion=2.7.0.0.0
mvnはバージョンを設定するだけではなく、関連する依存関係を自動的にダウンロードしてコンパイルし、ヒントを与えます. BUIL SUCCESSは成功です.
その後、ambari-metricsのバージョンを設定します.
pushd ambari-metrics
mvn versions:set -DnewVersion=2.7.0.0.0
popd
3.コンパイルする
セントロでは次のコマンドでコンパイルします.
mvn -B clean install rpm:rpm -DnewVersion=2.7.0.0.0 -DbuildNumber=631319b00937a8d04667d93714241d2a0cb17275 -DskipTests -Dpython.ver="python >= 2.6"
uuntuでは次のコマンドでコンパイルします.
mvn -B clean install jdeb:jdeb -DnewVersion=2.7.0.0.0 -DbuildNumber=631319b00937a8d04667d93714241d2a0cb17275 -DskipTests -Dpython.ver="python >= 2.6"
mvn clean installは、以下のステップを含む統合命令です.
クリーンプラグインを使用します.既存のログを削除するために実行します.リソースプラグインを使用します.Maven-resource-plugin:リソースファイルの処理を実行します.コンパイルプラグインを使用します.Maven-compler-plugin:すべてのソースファイルをコンパイルして、クラスファイルをtarget\clasesディレクトリの下に作成します.リソースプラグインを使用します.Maven-resource-plugin:テストリソースファイルの処理を行います.コンパイルプラグインを使用します.Maven-compler-plugin:テストディレクトリのすべてのソースコードをコンパイルします.プラグインを使用します.maven-surefire-plugin:テスト用の例を実行します.プラグインを使用します.Maven-jar-plugin:2.4コンパイルして作成したファイルを包装します.パッケージ名はデフォルトでは、artfratId-versionです.
-Bパラメータ:このパラメータは、Mavenがバッチモードを使用してプロジェクトを構築し、いくつかの人工的な相互作用によるハングアップ状態を避けることができることを示しています.
エラーをコンパイルしてヒントを再コンパイルするたびに、コマンドに-Drat.skyp=trueを追加します.
mvn -B clean install rpm:rpm -DnewVersion=2.7.0.0.0 -DbuildNumber=631319b00937a8d04667d93714241d2a0cb17275 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true
ヒントBUILD SUCCESS  そして、すべてのサブアイテムもSUCCESSであり、文末には共通のコンパイルエラーとソリューションが付いています.
4.据え付けを行う
作成したファイルディレクトリをコンパイルします.環境によって具体的に異なります.
ambari-server/target/rpm/ambari-server/RPMS/noarch/
ambari-server/target/rpm/ambari-server/RPMS/x 86_64
sudo yum install ambari-server*.rpm
必要なpostgresqlデータベースを設定するコマンドは、ユーザー名とパスワードを設定するのは、ambariのデフォルト設定と一致するためです.
参照http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.
sudo su - postgres
psql
CREATE USER ambari WITH PASSWORD 'bigdata';
CREATE DATABASE ambari OWNER ambari;
GRANT ALL PRIVILEGES ON DATABASE ambari to ambari;
インストールが成功したら、設定に入ります.
ambari-server setup
多くの質問があります.英語の表現も明確で、肝心な問題は下記の通り抜粋します.
 Checking JDK…Do you want to change Oracle JDK[y/n](n)?y
JDKを設定し、Custom JDKを選択してJAVA_を入力します.ホームの値
Configring database…===============================================================================================================================================
データベースを設定し、[4]-PostgreSQLを選択し、以前に設定したユーザー名のパスワードを記入し、デフォルトの値が一致する場合は変更する必要はありません.
設定が完了したら、postgresデータベースに登録し、ambariに必要なテーブルを作成し、実行します.
\i /var/lib/ambari-server/resources/Ambari-DDL-Postgres-CREATE.sql;
4.起動ambari
sudo ambari-server start
ログアドレスと成功情報は以下の通りです.
Server PID at:/var/run/ambari-server/ambari-server.pid Server.at:/var/log/ambari-server/ambari-server.server.out Server.80/log/ambari-server/ambari-server.lover.lover...
DB configs consistency check found warnings.See/var/log/ambari-server/ambari-server-check-database.log for more details.Ambari Server'start'completted succelly.
起動に成功したらブラウザでAmbariの住所を入力します.http://localhost:8080/
 
よくあるエラー:
1.Failed to execute goal org.co dehaus.mojo:rpm-maven-plugin:2.2.0.1:rpm(default-cli)on projjecctambari: RPM build executreturned:'127'executing'/bin/sh-c-c/sh-c/home/home/home/hotototototototototototoshshsh/home/home/home/hadoppppppttttttttttttttttttttttpppppppppppppppppppppppppppppppp//apache-ambari-2.50-src/target/rpm/ambari/buildroot--define'utopdir/home/hadoop/apache-ambari-25.0-src/target/rpm/ambari'--taget noarch-redhat-linux ambari.spec'-』[Help 1]
rpmとrpmがインストールされていないため、ステップ1に参加してインストールします.
2.Failed to execute goal au.alderaman:eclipspelink-staticweave-maven-plugin:1.0.4:weave(default)on project ambari-server:eclipselink-staticweave-maven Null PointerException
理由はjavaバージョンが高すぎるので、java 8を使うことを提案します.
3.The parameters'group'for goal org.co dehaus.mojo:rpm-maven-plugin:2.1.4:rpm are missing or invalid
理由は、pomファイルに関連する依存性がないため、プラグインに次の項目を追加します.
	  
        org.codehaus.mojo
        rpm-maven-plugin
        2.2.0
        
          
            generate-rpm
            
              rpm
            
          
        
        
          GPL (c) 2005, SWWDC
          Trash 2005
          Application/Collectors
		
      
4.Could not resove dependencies for project org.apache.ambari:ambari-server:jar:2.1.1:
バージョン番号の設定が間違っていたため、サブプロジェクトの手動設定に入り、この完全サブディレクトリをコンパイルし直しました.例えば、Ambari Logsearch Log Feederのコンパイルが間違っています.Ambari Logsearch Logを設定し、ここからコンパイルを開始する必要があります.-rf回復-Uを使って強制的に再解析pomを行うことができます.
pushd ambari-logsearch
mvn versions:set -DnewVersion=2.7.0.0.0
popd
5.src/main/java/org/apache/ambari/logfeeder/metrics/LogFeeder AMSClient.java:[102,3]method does not override or implement a method from a supertype
自動でダウンロードされたjarパッケージのバージョンが間違っているため、このアイテムのバージョンを再設定します.
6.[ERROR]Failed to execute goal project ambari-metrics-kafka-sink:Could not relilililive dependencies forprojjjjjject.apaache:ambari-metrics-kafka-sink:jar:jar:jar:2.0.0.00:The fofofofofofolljajajajajajajajajajafofofofofofofofofolltjajajajajafffffffffffffffffjajajajajajajajajajajajajafffffffffffffffffffffffffff1.common.sun.jmx:jmxri:jar:1.2.1:Could not transfer art javax.jms:jms:jar:1.1 from/to java.net(https://maven-repository.dev.java.net/nonav/repository):No connector available to access repository java.net(https://maven-repository.dev.java.net/nonav/repository)of type legacy using the available factores WagonRepositoryConnector Factory
コンポーネントが足りないからです.
The work around is to manaualy install the three missing artiftch:
mvn install:install-file-Dfile=jms-1.1.pom-DgroupId=javax.jms-DartiftId=JtffftId=jms-Dversion=1.1-Dpackaging=jar mvn install:install-Dfile-Dfile=jmxDfile=jmxtools=jmxtools-dddddododododools--dddddddddddddddddddtttttttzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzstall:install-file-Dfile=jmxi-1.11.pom-DgroupId=comp.sun.jmx-DartifactId=jmxri-Dversion=1.2.1-Dpackaging=jar参照:https://cwiki.apache.org/confluence/display/AMBARI/Installation+ガイド+for+Ambari+2.7.0