小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【華為云鯤鵬云服務(wù)最佳實(shí)踐】【大數(shù)據(jù)篇】第011期

 beginnow1 2019-10-27

 1、簡(jiǎn)介

Ambari  Hadoop 等開源軟件一樣,也是 Apache Software Foundation 中的一個(gè)項(xiàng)目,并且是頂級(jí)項(xiàng)目。就 Ambari 的作用來(lái)說(shuō),就是創(chuàng)建、管理、監(jiān)視 Hadoop 的集群,但是這里的 Hadoop 是廣義,指的是 Hadoop 整個(gè)生態(tài)圈(例如 Hive,Hbase,Sqoop,Zookeeper 等), 而并不僅是特指 Hadoop。用一句話來(lái)說(shuō),Ambari 就是為了讓 Hadoop 以及相關(guān)的大數(shù)據(jù)軟件更容易使用的一個(gè)工具。

Ambari 現(xiàn)在所支持的平臺(tái)組件也越來(lái)越多,例如流行的 SparkStorm 等計(jì)算框架,以及資源調(diào)度平臺(tái) YARN 等,我們都能輕松地通過(guò) Ambari 來(lái)進(jìn)行部署。

Ambari 自身也是一個(gè)分布式架構(gòu)的軟件,主要由兩部分組成:Ambari Server  Ambari Agent。簡(jiǎn)單來(lái)說(shuō),用戶通過(guò) Ambari Server 通知 Ambari Agent 安裝對(duì)應(yīng)的軟件;Agent 會(huì)定時(shí)地發(fā)送各個(gè)機(jī)器每個(gè)軟件模塊的狀態(tài)給 Ambari Server,最終這些狀態(tài)信息會(huì)呈現(xiàn)在 Ambari  GUI,方便用戶了解到集群的各種狀態(tài),并進(jìn)行相應(yīng)的維護(hù)。

官方鏈接:http://ambari./

2、基礎(chǔ)環(huán)境

類別

子項(xiàng)

版本

獲取地址(方法)

華為云

華為云

虛擬機(jī)

RC3916

--

OS

CentOS

7.5


Kernel

4.14


軟件包

ambari

2.6.1

http://archive./dist/ambari/ambari-2.6.1/apache-ambari-2.6.1-src.tar.gz

依賴包

JAVA-JDK8,nodejs(0.10.0以上),maven3.0.6以上)phantomjs2.1.1,

frontend-maven-plugin

leveldb



3、依賴安裝

參照:

《華為云鯤鵬云服務(wù)最佳實(shí)踐-JDK-1.8.0 安裝配置指南》

《華為云鯤鵬云服務(wù)最佳實(shí)踐-node 8.12.0  安裝配置指南》

《華為云鯤鵬云服務(wù)最佳實(shí)踐-maven-3.6.0 安裝配置指南》

3.1 安裝編譯前置依賴

環(huán)境需求

yum install rpm-build (用于創(chuàng)建rpm的二進(jìn)制軟件包和源碼軟件包)

yum install gcc-c++ 

yum install python-devel (安裝源外的python類庫(kù),或程序編譯需要鏈接libpythonXX.(a|so)的情況

yum install git (開源的分布式版本控制系統(tǒng)

安裝依賴

npm install -g bower (前端包管理工具

npm install -g gulp (基于node.js的一個(gè)前端自動(dòng)化構(gòu)建工具

npm install -g brunch (HTML5 構(gòu)建工具)

image.png

image.png

3.2 編譯安裝phantomjs  (基于webkit的JavaScript API, 隱形的瀏覽器)

依賴安裝

yum install gcc gcc-c++ make flex bison gperf   ruby openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel   libpng-devel libjpeg-devel

源碼下載和qt包下載

git clone git://github.com/ariya/phantomjs.git

cd phantomjs

git checkout 2.1.1

git submodule init

git submodule update (和網(wǎng)速有關(guān),可能會(huì)較久)

修改Makefile優(yōu)化級(jí)別為O2:   phantomjs/src/qt/qtbase/src/gui/Makefile

編譯
./build.py -c -j $(getconf _NPROCESSORS_ONLN)
編譯時(shí)長(zhǎng)和配置有關(guān),最短一般一個(gè)小時(shí)

image.png

phantomjs/deploy中執(zhí)行:

./package.sh

#生成可用二進(jìn)制文件

image.png

將此文件拷貝到需要安裝的地方聲明環(huán)境變量即可

/etc/profile中加入:

#phantomjs

export   PATH=$PATH:/usr/local/phantomjs-2.1.1-linux-aarch64/bin

修改后執(zhí)行:

source /etc/profile

驗(yàn)證

phantomjs -v

image.png

3.3 編譯安裝 frontend-maven-plugin

git clone   https://github.com/eirslett/frontend-maven-plugin.git

cd frontend-maven-plugin

git checkout -b 0.0.16 frontend-plugins-0.0.16

mvn clean -DskipTests install

image.png

3.4 編譯安裝leveldb

方法一

wget http://pkgs./repo/pkgs/snappy/snappy-1.0.5.tar.gz/4c0af044e654f5983f4acbf00d1ac236/snappy-1.0.5.tar.gz

tar -xf snappy-1.0.5.tar.gz; cd snappy-1.0.5

./configure --disable-shared --with-pic --host   aarch64-unknown-linux --build arrch64-unknown-linux

make -j4

image.png

拉取leveldb

cd ..

git clone git://github.com/chirino/leveldb.git

git clone   git://github.com/fusesource/leveldbjni.git

export   SNAPPY_HOME=`cd snappy-1.0.5; pwd`

export LEVELDB_HOME=`cd leveldb; pwd`

export LEVELDBJNI_HOME=`cd leveldbjni; pwd`

cd leveldb

export LIBRARY_PATH=${SNAPPY_HOME}

export C_INCLUDE_PATH=${LIBRARY_PATH}

export CPLUS_INCLUDE_PATH=${LIBRARY_PATH}

git apply ../leveldbjni/leveldb.patch

make libleveldb.a

cd ${LEVELDBJNI_HOME}

git checkout -b 1.8 leveldbjni-1.8

mvn clean install -P all -P linux64   -DskipTests=true

方法二:

wget https://download./pub/fedora/linux/releases/28/Everything/source/tree/Packages/l/leveldb-1.20-1.fc28.src.rpm

yum install mock

yum install snappy-devel

useradd -s /sbin/nologin mockbuild

rpmbuild -ba ~/rpmbuild/SPECS/leveldb.spec

image.png

cd /root/rpmbuild/RPMS/aarch64/

rpm -ivh leveldb-*

image.png

3.5 編譯安裝leveldbjni

git clone   git://github.com/fusesource/leveldbjni.git

cd leveldbjni

git checkout -b 1.8 leveldbjni-1.8

將各個(gè)環(huán)境變量聲明

export LEVELDB_HOME=/usr/include/leveldb

export SNAPPY_HOME=/usr/local/snappy-1.0.5

export LEVELDBJNI_HOME=/usr/local/leveldbjni

進(jìn)行編譯

mvn clean install -P all -P linux64   -DskipTests=true

成功后有如下:

image.png 

4、組件編譯安裝

4.1 下載ambari源碼

wget http://archive./dist/ambari/ambari-2.6.1/apache-ambari-2.6.1-src.tar.gz

tar xfvz apache-ambari-2.6.1-src.tar.gz

cd apache-ambari-2.6.1-src

4.2 編譯ambari

4.2.1 修改配置文件

將各項(xiàng)配置文件中的x86amd64分別修改為armaarch64

noarch改為aarch64

ambari-logsearch/pom.xml

ambari-funtest/pom.xml

ambari-metrics/ambari-metrics-grafana/pom.xml

以下是將amd64i386 amd64改為arm64

ambari-agent/pom.xml  

ambari-logsearch/pom.xml

ambari-metrics/ambari-metrics-assembly/pom.xml

ambari-server/pom.xml

contrib/views/ambari-views-package/pom.xml

ambari-client/python-client/pom.xml
ambari-shell/ambari-python-shell/pom.xml
pom.xml

以下將x86改為aarch64

ambari-agent/pom.xml

ambari-metrics/ambari-metrics-assembly/pom.xml
 

ambari-server/pom.xml

ambari-funtest/pom.xmlplugins中加入

     <plugin>

          <groupId>org.vafer</groupId>

          <artifactId>jdeb</artifactId>

          <version>1.0.1</version>

          <executions>

            <execution>

              <!--Stub execution on direct plugin call - workaround for ambari   deb build process-->

              <id>stub-execution</id>

              <phase>none</phase>

              <goals>

                <goal>jdeb</goal>

              </goals>

            </execution>

          </executions>

          <configuration>

            <skip>true</skip>

            <attach>false</attach>

            <submodules>false</submodules>

            <controlDir>${project.basedir}/../src/main/package/deb/control</controlDir>

          </configuration>

        </plugin>

在ambari-logsearch/pom.xml的plugins標(biāo)簽內(nèi)加入

<plugin>

          <groupId>org.vafer</groupId>

          <artifactId>jdeb</artifactId>

          <version>1.0.1</version>

          <executions>

            <execution>

              <!--Stub execution on direct plugin call - workaround for ambari   deb build process-->

              <id>stub-execution</id>

              <phase>none</phase>

              <goals>

                <goal>jdeb</goal>

              </goals>

            </execution>

          </executions>

          <configuration>

            <skip>true</skip>

            <attach>false</attach>

            <submodules>false</submodules>

            <controlDir>${project.basedir}/../src/main/package/deb/control</controlDir>

          </configuration>

        </plugin>

在ambari-metrics/ambari-metrics-grafana/pom.xml
的plugins標(biāo)簽內(nèi)加入

        <plugin>

          <groupId>org.vafer</groupId>

          <artifactId>jdeb</artifactId>

          <version>1.0.1</version>

          <executions>

            <execution>

              <!--Stub execution on direct plugin call - workaround for ambari   deb build process-->

              <id>stub-execution</id>

              <phase>none</phase>

              <goals>

                <goal>jdeb</goal>

              </goals>

            </execution>

          </executions>

          <configuration>

            <skip>true</skip>

            <attach>false</attach>

            <submodules>false</submodules>

            <controlDir>${project.basedir}/../src/main/package/deb/control</controlDir>

          </configuration>

        </plugin>

在ambari-metrics/pom.xml中加入

image.png

將ambari-admin/pom.xml中的node版本改為已安裝版本

image.png

將ambari-admin/src/main/resources/ui/admin-web/package.json中的karma-phantomjs-launcher刪除,將phantomjs改為安裝版本

image.png

ambari-metrics/ambari-metrics-storm-sink/pom.xmlstorm版本修改

image.png

將ambari-web/config.coffee中的paths鍵值對(duì)刪除
刪除后如下圖:

image.png

將ambari-web/package.json中的ember-handlebars-brunch修改為github鏈接

"ember-precompile-brunch": "git://github.com/icholy/ember-handlebars-brunch.git#540127137296a09601cbd215dcf4da4d27bcfb9e",

image.png

4.2.2 Maven打包編譯

mvn versions:set -DnewVersion=2.6.1.0.0

pushd ambari-metrics

image.png

mvn versions:set -DnewVersion=2.6.1.0.0

popd

image.png

mvn -B clean install package rpm:rpm -DskipTests   -Dpython.ver="python >= 2.6" -Preplaceurl   -Drat.ignoreErrors=true

中間可能會(huì)報(bào)錯(cuò),一般再執(zhí)行

mvn -B install package rpm:rpm -DskipTests   -Dpython.ver="python >= 2.6" -Preplaceurl   -Drat.ignoreErrors=true

如果遇見報(bào)錯(cuò):

[ERROR] Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.1.4:rpm (default-cli) on project ambari-server: RPM build execution returned: '1' executing

執(zhí)行

ln -s  /usr/bin/python2.7   /usr/bin/python2.6

mvn -B install package rpm:rpm -DskipTests -Dpython.ver="python   >= 2.6" -Preplaceurl -Drat.ignoreErrors=true -rf :ambari-server

最后得到

image.png

三個(gè)rpm分別在

ambari-2.6.1/ambari-server/target/rpm/ambari-server/RPMS/aarch64

image.png

ambari-2.6.1/ambari-agent/target/rpm/ambari-agent/RPMS/aarch64

image.png

ambari-2.6.1/ambari-metrics/ambari-metrics-timelineservice/target/rpm/ambari-metrics-collector/RPMS/noarchimage.png

5、系統(tǒng)配置

無(wú)

6、測(cè)試

注意:如有需求請(qǐng)使用mysql(此選項(xiàng)選擇y)作為元數(shù)據(jù)庫(kù)進(jìn)行操作,一般情況下,后面還要安裝 hive  Ranger。 這里不做介紹。

安裝postgresql

ambari server 需要一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)元數(shù)據(jù),默認(rèn)使用的 Postgres 數(shù)據(jù)庫(kù)。默認(rèn)的用戶名和密碼是: ambari/bigdata 。

yum install postgresql*

 rpm路徑下執(zhí)行

yum install   ./ambari-server-2.6.1.0-0.aarch64.rpm -y

image.png

啟動(dòng)ambari

Ambari-server setup

如有以下報(bào)錯(cuò):

image.png

修改/usr/sbin/ambari-server中的buildNumberVERSION

image.png

啟動(dòng)成功根據(jù)提示和需求配置成功后:

只做驗(yàn)證,在自定義元數(shù)據(jù)庫(kù)時(shí)選擇no

 image.png

ambari-server start

image.png

要訪問(wèn)Ambari,請(qǐng)?jiān)L問(wèn): 

http://{ambari-server-hostname}:8080

初始用戶名/密碼為admin / admin

image.png

image.png

image.png

7、參考信息

https://collaborate./display/BDTS/Build+and+Install+Apache+Ambari+V2.6.1+on+AArch64

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多