天天看點

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

作者:大資料老司機

一、概述

Apache Ambari 是 Hortonworks 貢獻給Apache開源社群的頂級項目,它是一個基于web的工具,用于安裝、配置、管理和監視 Hadoop 叢集。 Ambari 目前已支援大多數 Hadoop 元件,包括 HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop 和 Hcatalog 等。

Apache Ambari 支援 HDFS、MapReduce、Hive、Pig、Hbase、Zookeper、Sqoop 和 Hcatalog 等的集中管理。也是 5 個頂級 hadoop 管理工具之一。

Ambari 主要取得了以下成績:

  • 通過一步一步的安裝向導簡化了叢集供應。
  • 預先配置好關鍵的運維名額(metrics),可以直接檢視 Hadoop Core(HDFS 和 MapReduce)及相關項目(如 HBase、Hive 和 HCatalog)是否健康。
  • 支援作業與任務執行的可視化與分析,能夠更好地檢視依賴和性能。
  • 通過一個完整的 RESTful API 把監控資訊暴露出來,內建了現有的運維工具。
  • 使用者界面非常直覺,使用者可以輕松有效地檢視資訊并控制叢集。

Ambari 使用 Ganglia 收集度量名額,用 Nagios 支援系統報警,當需要引起管理者的關注時(比如,節點停機或磁盤剩餘空間不足等問題),系統将向其發送郵件。

此外,Ambari 能夠安裝安全的(基于 Kerberos)Hadoop 叢集,以此實作了對 Hadoop 安全的支援,提供了基于角色的使用者認證、授權和審計功能,并為使用者管理內建了 LDAP 和 Active Directory。

  • GitHub位址:https://github.com/apache/ambari
  • 官方位址:https://ambari.apache.org/
  • Ambari WIKI:https://cwiki.apache.org/confluence/display/AMBARI/Ambari
  • Hortonworks社群:https://community.hortonworks.com/index.html
  • https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-operations/content/ch_Overview_hdp-ambari-user-guide.html​
【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【溫馨提示】

從2021年1月開始,ambari 開始收費了,如果想使用 ambari,要麼基于源碼自己編譯

https://ambari.apache.org/,

要麼給錢下載下傳

https://www.cloudera.com/products/open-source/apache-hadoop/apache-ambari.html

二、 Ambari 與 HDP 關系

Ambari和HDP(Hortonworks Data Platform)是用于管理和運維Hadoop叢集的兩個關鍵元件。

  • Ambari 是一個開源的叢集管理工具,提供了一個直覺的Web界面,用于簡化Hadoop叢集的配置、管理和監控。通過Ambari,管理者可以輕松地進行叢集部署、服務配置、擴充和監控。它還提供了一些進階功能,如自動服務恢複、告警管理和權限控制等。
  • HDP 是Hortonworks提供的一個完整的資料平台,基于開源的Apache Hadoop生态系統建構而成。它包含了一系列的核心元件,如HDFS(Hadoop分布式檔案系統)、YARN(Yet Another Resource Negotiator)、MapReduce、Hive、HBase、Spark、Pig等。HDP通過內建這些元件,為使用者提供了一個穩定、可靠和易于管理的Hadoop平台。
  • Ambari 和 HDP 之間的關系是,Ambari作為一個叢集管理工具,可以用于管理和運維HDP所建構的Hadoop叢集。通過Ambari,管理者可以在HDP叢集上進行各種操作,如添加/删除節點、配置服務參數、監控叢集健康狀态等。同時,Ambari還提供了一些附加功能,如服務自動發現、日志聚合和可視化等,以提高Hadoop叢集的可管理性和可視化性。
總結起來,Ambari是用于管理和運維Hadoop叢集的工具,而HDP是一個完整的資料平台,基于Hadoop生态系統建構而成。Ambari可以用于管理和操作HDP叢集,提供了一種簡化和集中化的方式來管理Hadoop叢集中的服務群組件。【溫馨提示】CDH 和 HDP 都已經開始收費了。

簡單來講就是 Ambari 好比 CDH 中的Cloudera manager,HDP 就如 CDH 一樣。如想了解CDH的小夥伴可以觀看我這篇文章:大資料 Cloudera Hadoop(CM 6.3.1+CDH 6.3.2環境部署)

三、Ambari 與 Cloudera manager 的對比

Ambari 和 Cloudera Manager 都是用于管理和監控Hadoop叢集的工具,它們在功能和特點上有一些差別。以下是Ambari和Cloudera Manager之間的一些對比:

1)開源性

  • Ambari:Ambari是一個開源項目,由Apache軟體基金會進行開發和維護。
  • Cloudera Manager:Cloudera Manager是Cloudera公司的産品,它是基于開源Hadoop分發版本建構的,但Cloudera Manager本身不是開源的。

2)支援的發行版

  • Ambari:Ambari可以與各種Hadoop發行版內建,包括Apache Hadoop、Hortonworks Data Platform(HDP)和IBM Spectrum Scale。
  • Cloudera Manager:Cloudera Manager主要用于管理Cloudera發行版(Cloudera Distribution including Apache Hadoop,CDH)。

3)使用者界面

  • Ambari:Ambari提供了一個直覺的Web界面,用于配置、管理和監控Hadoop叢集。它的界面相對簡潔,易于使用。
  • Cloudera Manager:Cloudera Manager也提供了一個Web界面,但它更加詳細和功能豐富。它提供了更多的叢集管理和調優功能,适用于大型和複雜的叢集環境。

4)功能和擴充性

  • Ambari:Ambari提供了基本的叢集管理功能,例如元件安裝、配置管理、監控和警報。它還支援Ambari Views,允許使用者通過自定義視圖擴充和定制功能。
  • Cloudera Manager:Cloudera Manager提供了廣泛的叢集管理和運維功能,包括自動化安裝、配置管理、故障排除、性能優化等。它還支援一些進階特性,例如資料備份和恢複、Kerberos內建、高可用性配置等。

5)社群支援和生态系統

  • Ambari:Ambari是Apache軟體基金會的項目,擁有龐大的開源社群支援和活躍的開發者社群。它與其他Apache生态系統項目有良好的內建。
  • Cloudera Manager:Cloudera Manager作為Cloudera公司的産品,提供了商業支援和服務,并與Cloudera的其他産品和解決方案內建。

綜上所述,Ambari和Cloudera Manager都是功能強大的叢集管理工具,但它們在開源性、支援的發行版、使用者界面、功能和生态系統等方面存在一些差別。選擇适合的工具取決于你的具體需求、叢集規模和技術棧。

四、Apache Ambari 術語

  • Service(服務):Service是指 Hadoop 堆棧中的服務。 HDFS、HBase 和 Zookeeper等是服務的⽰例。⼀個服務可能有多個元件(例如,HDFS 有 NameNode、Secondary NameNode、DataNode 等)。服務也可以隻是⼀個客⼾端(例如,Pig沒有任何守護程式服務,但隻有⼀個客⼾端庫)
  • Component(元件):Service由⼀個或多個Component組成。例如,HDFS 有 3 個元件:NameNode、DataNode 和 Secondary NameNode。元件可能是可選的。⼀個元件可以跨越多個節點(例如,多個節點上的 DataNode 執行個體)。
  • Node/Host(節點):Node/Host是指叢集中的⼀台機器。
  • Node-Component(節點元件):Node-Component是指特定節點上的元件執行個體。例如,特定節點上的特定 DataNode 執行個體是節點元件。
  • Operation(操作):Operation是指在叢集上執行的⼀組更改或操作,以滿⾜⽤⼾請求或在叢集中實作所需的狀态更改。例如,啟動服務是⼀項操作,運作冒煙測試是⼀項操作。如果⽤⼾請求向叢集添加新服務并且還包括運作冒煙測試,那麼滿⾜⽤⼾請求的整個操作集将構成⼀個操作。
  • Task(任務):Task是發送到節點執行的⼯作單元。Task是節點作為Action的⼀部分的⼯作。例如,“Action”可以包括在節點 Node1上安裝DataNode,在節點 Node2 上安裝DataNode和SNameNode。在這種情況下,Node1 的“任務”将是安裝⼀個DataNode,⽽ Node2的“任務”将是安裝⼀個DataNode和⼀個SNameNode。
  • Stage(階段):Stage是指完成⼀項操作所需的⼀組任務,并且互相獨⽴;同⼀階段的所有任務都可以跨不同節點并行運作。
  • Action(動作):Action由⼀台機器或⼀組機器上的⼀個或多個任務組成。每個動作都有動作 id 跟蹤,并且節點⾄少在動作的粒度上報告狀态。⼀個動作可以被認為是⼀個正在執行的階段。
  • Stage Plan(階段計劃):⼀個操作通常由不同機器上的多個任務組成,它們通常具有依賴關系,要求它們以特定順序運作。有些任務需要先完成,然後才能安排其他任務。是以,⼀個操作所需的任務可以劃分為多個階段,每個階段必須在下⼀個階段之前完成,但同⼀階段的所有任務可以跨不同節點并行排程。
  • Manifest(清單):Manifest是指發送到節點執行的任務的定義。清單必須完全定義任務并且必須是可序列化的。清單也可以儲存在磁盤上以進行恢複或記錄。
  • Role(⻆⾊):Role映射到元件(例如,NameNode、DataNode)或操作階段計劃(例如,HDFS rebalancing、HBase smoke test、其他管理指令等)

五、Apache Ambari 核心元件介紹

Apache Ambari 是一個開源的叢集管理工具,用于簡化、管理和監控Hadoop生态系統中的大資料叢集。它提供了一個直覺的Web界面,使使用者可以輕松地配置、部署和管理Hadoop叢集的核心元件。下面是Ambari的一些核心元件的介紹:

  • Ambari Server:Ambari Server是Ambari的主要元件,負責整個叢集的管理和控制。它提供了一個Web界面,允許管理者配置和監控叢集的各個方面。Ambari Server負責收集和顯示有關叢集的資訊,以及在需要時執行操作,例如安裝、啟動、停止和更新元件。
  • Ambari Agent:Ambari Agent是在叢集中每個主機上運作的代理程式。它負責與Ambari Server通信,并執行Ambari Server下發的指令。Ambari Agent在各個主機上安裝和管理元件,收集主機的名額資料,并将其發送給Ambari Server進行監控和分析。
  • Ambari Web:Ambari Web提供了一個使用者友好的Web界面,允許管理者和操作員直接與Ambari互動。通過Ambari Web,使用者可以輕松地配置和管理叢集的各個方面,包括添加/删除主機、安裝/更新元件、配置服務和管理使用者權限等。
  • Ambari Database:Ambari Database是Ambari Server使用的後端資料庫,用于存儲叢集的中繼資料和配置資訊。常見的資料庫選項包括MySQL、PostgreSQL和Oracle。Ambari Database存儲有關叢集拓撲、元件配置、主機資訊和使用者權限等的資料。
  • Ambari Metrics:Ambari Metrics元件負責收集和存儲叢集的名額資料。它使用開源的時間序列資料庫,例如Apache HBase或Apache Phoenix,将各個元件和主機的名額資料持久化存儲起來。Ambari Metrics還提供了一個Web界面,用于檢視和分析叢集的名額資料。
  • Ambari Views:Ambari Views是Ambari的插件機制,允許使用者通過自定義視圖擴充Ambari的功能。它提供了一種可擴充的方式,允許使用者根據自己的需求添加和內建自定義的Web界面或應用程式。

這些是Ambari的一些核心元件,它們共同協作,使使用者能夠友善地管理和監控Hadoop叢集的各個方面。通過Ambari,使用者可以簡化叢集管理任務,并提供可視化的界面來監控叢集的運作狀況和性能。

六、Apache Ambari 架構

Ambari架構采用的是Server/Client的模式,主要由兩部分組成:ambari-agent 和 ambari-server 。ambari依賴其它已經成熟的工具,例如其ambari-server 就依賴 python ,而 ambari-agent 還同時依賴ruby, puppet,facter等工具,還有它也依賴一些監控工具 nagios 和 ganglia 用于監控叢集狀況。

  • Ambari-server:主要管理部署在每個節點上的管理監控程式。
  • Ambari-agent:部署在監控節點上運作的管理監控程式。
  • ambari-web:作為使用者與 Ambari server 互動的。
【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

1)Ambari-agent 内部架構

Ambari-agent是一個無狀态的,其功能分兩部分:

  • 采集所在節點的資訊并且彙總發送心跳發送彙報給ambari-server。
  • 處理ambari-server的執行請求。

是以它有兩種隊列:

  • 消息隊列 Message Queue,或稱為 ResultQueue。包括節點狀态資訊(包括注冊資訊)和執行結果資訊,并且彙總後通過心跳發送給ambari-server。
  • 操作隊列 ActionQueue。用于接收 ambari-server 發送過來的狀态操作,然後交給執行器調用puppet或Python腳本等子產品執行任務。
【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

2)Ambari-server 内部架構

三種狀态:

  • Live Cluster State:叢集現有狀态,各個節點彙報上來的狀态資訊會更改該狀态;
  • Desired State:使用者希望該節點所處狀态,是使用者在頁面進行了一系列的操作,需要更改某些服務的狀态,這些狀态還沒有在節點上産生作用;
  • Action State:操作狀态,是狀态改變時的請求狀态,也可以看作是一種中間狀态,這種狀态可以輔助 LiveCluster State 向 Desired State 狀态轉變。
【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)
  • Heartbeat Handler 子產品用于接收各個agent的心跳請求(心跳請求裡面主要包含兩類資訊:節點狀态資訊和傳回的操作結果),把節點狀态資訊傳遞給FSM狀态機去維護着該節點的狀态,并且把傳回的操作結果資訊傳回給Action Manager去做進一步的處理。
  • Coordinator 子產品又可以稱為API handler,主要在接收WEB端操作請求後,會檢查它是否符合要求,stageplanner分解成一組操作,最後提供給ActionManager去完成執行操作。

是以,從上圖就可以看出,Ambari-Server的所有狀态資訊的維護和變更都會記錄在資料庫中,使用者做一些更改服務的操作都會在資料庫上做一些相應的記錄,同時,agent通過心跳來獲得資料庫的變更曆史。

3)Ambari-web 内部架構

Ambari-web 使用了一個流行的前端 Embar.js MVC 架構實作,Embar.js 是一個 TodoMVC 架構,它涵蓋了現今典型的單頁面應用(single page application)幾乎所有的行為。使用了 nodejs。使用 brunch 作為項目的建構管理工具。

Brunch 是一個超快的HTML5建構工具。它有如下功能:

  1. 編譯你的腳本、模闆、樣式、連結它們。
  2. 将腳本和模闆封裝進common.js/AMD子產品裡,連結腳本和樣式。
  3. 為連結檔案生成源地圖,複制資源和靜态檔案。
  4. 通過縮減代碼和優化圖檔來收縮輸出,看管你的檔案更改。
  5. 并通過控制台和系統提示通知你錯誤。

Nodejs 是一個基于Chrome JavaScript 運作時建立的一個平台,用來友善的搭建快速的易于擴充的網絡應用,NodeJS 借助事件驅動,非阻塞I/O模型變得輕量和高效,非常适合運作在分布式裝置的資料密集型的實時應用。

1、Ambari-web 目錄結構

目錄或檔案 描述
app/ 主要應用程式代碼。包括Ember中的view、templates、controllers、models、routes
config.coffee Brunch應用程式生成器的配置檔案
package.json Npm包管理配置檔案
test/ 測試檔案
vendor/ Javascript庫和樣式表适用第三方庫。

2、Ambari-web/app/

目錄或檔案 描述
assets/ 靜态檔案
controllers/ 控制器
data/ 資料
mappers/ JSON資料到Client的Ember實體的映射
models MVC中的Model
routes/ 路由器
styles 樣式檔案
views 試圖檔案
templates/ 頁面模闆
app.js Ember主程式檔案
config.js 配置檔案

七、Apache Ambari 安裝

1)前期準備

1、機器資訊

IP 主機名 角色
192.168.182.110 local-168-182-110 master
192.168.182.111 local-168-182-111 slave
192.168.182.112 local-168-182-112 slave

2、配置 /etc/hosts

192.168.182.110 local-168-182-110
192.168.182.111 local-168-182-111
192.168.182.112 local-168-182-112
           

3、配置互信

### 在master節點上生成公鑰
ssh-keygen -t rsa -P ""

### 參數解釋:
# -t 參數表示生成算法,有rsa和dsa兩種;
# -P表示使用的密碼,這裡使用""空字元串表示無密碼。

cd ~/.ssh
cat id_rsa.pub >> authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub local-168-182-111
ssh-copy-id -i ~/.ssh/id_rsa.pub local-168-182-112
           

4、配置時間同步(非常重要)

yum install chrony -y

# 配置
echo 'server ntp1.aliyun.com iburst' >> /etc/chrony.conf

systemctl start chronyd
systemctl enable chronyd

# 檢視時間同步情況
chronyc sources -v
           

5、關閉防火牆

systemctl disable firewalld
systemctl stop firewalld
           

6、禁用 SELINUX

# 臨時關閉
setenforce 0
# 永久禁用
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
           

2)安裝 JDK

官網下載下傳:https://www.oracle.com/java/technologies/downloads/

百度雲下載下傳

連結:https://pan.baidu.com/s/1-rgW-Z-syv24vU15bmMg1w

提取碼:8888

# 編輯/etc/profile,文末插入以下内容:
# set java
export JAVA_HOME=/usr/java/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH
           

加載生效

source /etc/profile
           

3)安裝 mysql

如果想快速安裝MySQL,僅僅隻是學習或測試用,可以參考我這篇通過docker部署MySQL的文章:通過 docker-compose 快速部署 MySQL保姆級教程

# 登入mysql
mysql -uroot -p12346
           

4)擷取 Ambari 安裝包

編譯過程中可能會遇到很多問題,這裡就不一一列舉了,可關注我公衆号 大資料與雲原生技術分享 回複 hdp 擷取已編譯好的安裝包。

其中安裝包說明:

  • Ambari:WEB應用程式,背景為Ambari Server,負責與HDP部署的叢集工作節點進行通訊,叢集控制節點包括Hdfs,Spark,Zk,Hive,Hbase等等。
  • HDP:HDP包中包含了很多常用的工具,比如Hadoop,Hive,Hbase,Spark等
  • HDP-UTIL:是HDP的另一個軟體包,它包含了一些額外的實用工具和服務,用于增強HDP的功能和管理能力。這些實用工具和服務可以與HDP叢集一起使用,以提供更多的功能和工具支援。
  • HDP-GPL:是HDP的一部分,它包含了HDP中使用的開源軟體的源代碼,這些軟體遵循GPL(GNU通用公共許可證)或其他開源許可證。

5)安裝 httpd 搭建本地安裝源

### 1、安裝httpd
yum -y install httpd

### 2、在/var/www/html下建立ambari和hdp目錄
cd /var/www/html/
mkdir ambari

### 3、上傳資源包
# 上傳ambari-2.7.5.0-centos7.tar、HDP-3.1.5.0-centos7-rpm.tar、HDP-GPL-3.1.5.0-centos7-gpl.tar、HDP-UTILS-1.1.0.22-centos7.tar

### 4、解壓到指定目錄
tar -zxvf /opt/apache/ambari/ambari-2.7.5.0-centos7.tar -C /var/www/html/ambari/
tar -zxvf /opt/apache/ambari/HDP-3.1.5.0-centos7-rpm.tar -C /var/www/html/ambari/
tar -zxvf /opt/apache/ambari/HDP-GPL-3.1.5.0-centos7-gpl.tar -C /var/www/html/ambari/
tar -zxvf /opt/apache/ambari/HDP-UTILS-1.1.0.22-centos7.tar -C /var/www/html/ambari/

### 5、啟動httpd
systemctl restart httpd
           

web通路:

現在可以通過通路http://192.168.182.110/ambari/檢視是否能成功通路

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

6)配置Ambari+HDP本地yum源

1、 安裝本地源制作相關工具

yum install -y yum-utils createrepo yum-plugin-priorities
           

2、配置 ambari.repo

# /etc/yum.repos.d/ambari.repo
#VERSION_NUMBER=2.7.5.0-72
[ambari-2.7.5.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.5.0
baseurl=http://192.168.182.110/ambari/ambari/centos7/2.7.5.0-72/
gpgcheck=1
gpgkey=http://192.168.182.110/ambari/ambari/centos7/2.7.5.0-72/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
           

3、配置 hdp.repo

# /etc/yum.repos.d/hdp.repo
#VERSION_NUMBER=3.1.5.0-152
[HDP-3.1.5.0]
name=HDP Version - HDP-3.1.5.0
baseurl=http://192.168.182.110/ambari/HDP/centos7/3.1.5.0-152/
gpgcheck=1
gpgkey=http://192.168.182.110/ambari/HDP/centos7/3.1.5.0-152/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.22]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.22
baseurl=http://192.168.182.110/ambari/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=1
gpgkey=http://192.168.182.110/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
           

4、将建立好的檔案拷貝到子節點

scp /etc/yum.repos.d/ambari.repo 192.168.182.111:/etc/yum.repos.d/
scp /etc/yum.repos.d/hdp.repo 192.168.182.111:/etc/yum.repos.d/

scp /etc/yum.repos.d/ambari.repo 192.168.182.112:/etc/yum.repos.d/
scp /etc/yum.repos.d/hdp.repo 192.168.182.112:/etc/yum.repos.d/
           

最後執行

yum clean all && yum makecache
           

6)開始安裝 ambari

1、安裝 ambari-server

yum -y install ambari-server
           

2、建立使用者和資料庫

#在mysql上建立 database ambari;
mysql -uroot -p123456

# 建立資料庫
create database ambari;

create database ambari character set utf8 ;  
CREATE USER 'ambari'@'%'IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';
FLUSH PRIVILEGES;

# 建立資料庫
create database hive;

#建立 hive使用者
create database hive character set utf8 ;  
CREATE USER 'hive'@'%'IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';
FLUSH PRIVILEGES;

# 建立 oozie 使用者
create database oozie character set utf8 ;  
CREATE USER 'oozie'@'%'IDENTIFIED BY 'oozie';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
FLUSH PRIVILEGES;
           

3、将Ambari資料庫腳本導入到資料庫

#在mysql上建立 database ambari;
mysql -uroot -p123456

use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
           

4、下載下傳mysql驅動

下載下傳位址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/

wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar

mkdir /usr/share/java
cp mysql-connector-java-5.1.39.jar /var/lib/ambari-server/resources/
cp mysql-connector-java-5.1.39.jar /usr/share/java/
cp mysql-connector-java-5.1.39.jar /usr/lib/ambari-server/
           

5、配置 ambari-server

[root@local-168-182-110 ambari]# ambari-server setup
Using python  /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):root
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1): 2
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
Path to JAVA_HOME: /opt/jdk1.8.0_212
Validating JDK on Ambari Server...done.
Check JDK version for Ambari Server...
JDK version found: 8
Minimum JDK version is 8 for Ambari. Skipping to setup different JDK for Ambari Server.
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================================
Enter choice (1): 3
Hostname (localhost): 192.168.182.110
Port (3306): 13306
Database name (ambari):
Username (ambari): ambari
Enter Database Password (bigdata):
Re-enter password:
Configuring ambari database...
Enter full path to custom jdbc driver: /usr/share/java/mysql-connector-java-5.1.39.jar
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL directly from the database shell to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
ambari-admin-2.7.5.0.72.jar
....
Ambari repo file contains latest json url http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json, updating stacks repoinfos with it...
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

           

6、啟動 ambari

ambari-server start
           
注意:如果出現Server not yet listening on http port 8080 after 50 seconds. Exiting異常執行以下語句:
echo 'server.startup.web.timeout=120' >> /etc/ambari-server/conf/ambari.properties
           

浏覽器通路: http://192.168.182.110:8080/

預設登入使用者:admin,密碼:admin

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

7)通過 Ambari Web UI 部署大資料元件

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第一步】設定叢集名稱

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第二步】配置本地鏡像倉庫

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)
【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第三步】輸入叢集節點host(FQDN)和Ambari-Server節點SSH的私鑰

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

因為機器資源有限,隻啟動了一個節點

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第四步】選擇需要安裝的大資料元件

因我電腦資源有限,就選擇了一個了。小夥伴根據需要選擇對應的大資料元件。
【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第五步】Assign Masters

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第六步】Assign Slaves and Clients

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第七步】Customize Services

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第八步】Review

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第九步】Install, Start and Test

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)
【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

【第十步】Summary

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

到此部署就完成了,下面就是Hadoop生态元件的監控面闆。

【大資料】大資料 Hadoop 管理工具 Apache Ambari(HDP)

到這裡 大資料 Hadoop 管理工具 Apache Ambari 部署以及通過 Ambari 部署大資料元件教程就結束了,有任何疑問關注公衆号 大資料與雲原生技術分享 加群交流或私信溝通,相關的軟體包在公衆号回複 hdp 即可擷取。