Ambari自動化部署

組件概覽

1.HDP 3.1.4.0-315組件, 包含但不限于 HDFS,YARN,Tez,Hive,HBase,ZooKeeper,Kafka,Ranger,Spark2,DolphinScheduler,Flink,Kudu, Presto


image-20220112165921682.png

2.install.sh使得新機(jī)器可以使用腳本一鍵安裝和配置和ambari,只需要填寫sship的機(jī)器名和密碼文件。uninstall.sh可以一鍵卸載相關(guān)安裝包和文件,重啟機(jī)器。

3.所有HDP安裝包和所需文件以及腳本都可以在此鏈接下載(13.28G) 鏈接:鏈接:https://pan.baidu.com/s/1Vzu_45wWB_BvsA_VH9BczQ 密碼:2pjm

image-20220112165044484.png

自定義服務(wù)

Ambari-Flink

組件: FlinkClient(已修改flink執(zhí)行文件,加入hadoop環(huán)境信息), FlinkHistoryServer
FLINK HISTORY SERVER 和 FLINK CLIENTS裝在不同的機(jī)器, 所有Yarn安裝的機(jī)器都可以選擇安裝

Ambari-Dolphinscheduler

組件: DS MATER, DS ALERT, DS_API, DS LOGGERS, DS_WORKERS
其中DS LOGGERS, DS_WORKERS需要在機(jī)器上同時(shí)安裝, DS ALERT, DS_API需要在機(jī)器上同時(shí)安裝

Ambari-Presto

組件: PRESTO COORDINATOR, PRESTO WORKERS, 所有Yarn安裝的機(jī)器都可以選擇安裝
其中query.max-memory-per-node和query.max-total-memory-per-node受限于JVM Config的Xmx內(nèi)存分配比例. 在install.sh腳本中已配置

Ambari-Kudu

組件: KUDU_MASTER 和 KUDU_TSERVERS, 需要修改Advanced tserver-gflagfile中tserver_master_addrs屬性值為實(shí)際master地址

部署流程

Step.1 準(zhǔn)備機(jī)器

3臺機(jī)器: 4核8G以上配置 , centos7, master, slaves01, slaves02
4臺機(jī)器: 2核4G以上 + 4核8G以上配置 , centos7, master(2核4G), slaves01, slaves02 , slaves03
5臺機(jī)器: 2核4G以上 + 4核8G以上配置 , centos7, master(2核4G), slaves01, slaves02 , slaves03 , slaves04
設(shè)置虛擬機(jī)主機(jī)名為master, slaves01, slaves02, slaves0X ..., 如果修改名字, 需要修改install腳本對應(yīng)命名規(guī)則, 建議按此規(guī)則進(jìn)行命名

Step.2 運(yùn)行安裝腳本

# 登錄到master機(jī)器主目錄, 進(jìn)行解壓
tar -zxvf ambari.tar.gz
#### 修改sshlogin目錄下sship對應(yīng)機(jī)器密碼 (見下圖)
# 運(yùn)行安裝腳本(需要一定時(shí)長, 耐心等待腳本執(zhí)行完畢)
bash install.sh
image-20220112181219263.png

Step.3 Ambari配置集群

訪問http://master:8080 或者 MasterIP:8080 (admin:admin), 進(jìn)入Ambari WEB管理界面,運(yùn)行安裝向?qū)А?在本地hosts配置集群的域名映射)

1.初始化集群,填寫集群名字
image-20210816173613792.png
2.選擇Use Local Repository, 選擇操作系統(tǒng)redhat7填寫以下鏈接

HDP-3.1: http://master/hdps/HDP/centos7/3.1.4.0-315
HDP-3.1-GPL: http://master/hdps/HDP-GPL/centos7/3.1.4.0-315
HDP-UTILS-1.1.0.22: http://master/hdps/HDP-UTILS/centos7/1.1.0.22

image-20210816173807660.png

3.填寫集群安裝的主機(jī)名

只有3臺機(jī)器: master slaves01 slaves02
大于3臺機(jī)器: slaves01 slaves02 slaves03 slaves04
在master機(jī)器上 cat ~/.ssh/id_rsa, 復(fù)制粘貼到下面SSH Private Key


image-20210816173910496.png
4.Ambari安裝Services

選擇如下服務(wù)進(jìn)行統(tǒng)一安裝:HDFS、Tez、Hive、HBase、Zookeeper、Ambari Metrics、Kafka、Ranger、SmartSense、Spark2, Flink。選好之后都選擇PROCEED ANYWAY進(jìn)入下一步。

Kudu 和 DolphinScheduler、Presto有依賴關(guān)系尚未處理, 大家也可以在services中metainfo.xml配置依賴關(guān)系,所以后面的步驟會按順序安裝DolphinScheduler、Kudu和Presto。

注意: Kudu安裝目前需要修改一下配置: 需要修改Advanced tserver-gflagfile中tserver_master_addrs屬性值為實(shí)際master地址

image-20210816174325019.png

image-20210816174339055.png

image-20210816174350265.png

image-20210816174409705.png

Services分配到對應(yīng)服務(wù)器時(shí),NameNode和Hive MetaStore需要和install.sh腳本中HDFS_NAMENODE_HOST(默認(rèn)第一臺機(jī)器)和HIVE_Metastore_URI(默認(rèn)第二臺機(jī)器)指定的服務(wù)器一致。
image-20210816174732499.png

Kafka默認(rèn)分配一個(gè)Broker,此處需要增加到N個(gè),每臺服務(wù)器上一個(gè)Broker。
image-20210816174632741.png

按下圖規(guī)則分配對應(yīng)的服務(wù)數(shù)量
image-20210816174857786.png

image-20210816175018270.png

涉及到Database的配置,都需要Test Connection并驗(yàn)證通過,否則不能進(jìn)行下一步。
image-20210816175121969.png

image-20210816175209392.png

image-20210816175239517.png

image-20210816175253202.png

image-20210816182447870.png

image-20210816182459276.png

5.Ambari新加服務(wù)
image-20220112173619781.png

Kudu配置修改


image-20220112173726968.png
6.Ambari配置服務(wù)自動重啟
image-20220112173950468.png

Step.4 配置Ranger權(quán)限

image-20220112174200545.png

增加用戶root, test, 為root用戶分配hdfs,yarn,hive,hbase權(quán)限, 為test用戶分配hdfs讀寫權(quán)限, 便于通過namenode ui上傳文件


image-20220112174338116.png

Step.5 使用DolphinScheduler調(diào)度Flink任務(wù)

image-20220112174546922.png

1.創(chuàng)建租戶, 編輯用戶使得用戶擁有租戶
image-20220112174732557.png

2.上傳測試資源, flink/WordCount.jar,主類為org.apache.flink.examples.java.wordcount.WordCount,創(chuàng)建工作流
可以在下載文件的demo/flink目錄, 上傳WordCount.jar到資源中心的flink目錄下, 然后再項(xiàng)目管理工作流定義導(dǎo)入WordCount-Cluster.json工作流
image-20220112175226495.png

image-20220112175418849.png

image-20220112175450516.png

系列文章

第一篇: Ambari自動化部署
第二篇: 數(shù)據(jù)埋點(diǎn)設(shè)計(jì)和SDK源碼
第三篇: 數(shù)據(jù)采集和驗(yàn)證方案
第四篇: ETL實(shí)時(shí)方案: Kafka->Flink->Hive
第五篇: ETL用戶數(shù)據(jù)處理: kafka->spark->kudu
第六篇: Presto分析模型SQL和UDF函數(shù)
第七篇: 用戶畫像和留存預(yù)測模型

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容