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

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

自定義服務(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

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

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

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

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地址




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

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

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


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






5.Ambari新加服務(wù)

Kudu配置修改

6.Ambari配置服務(wù)自動重啟

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

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

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

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

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工作流



系列文章
第一篇: 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ù)測模型