直達最佳實踐:【 https://bp.aliyun.com/detail/36】
觀看視訊:【
https://yqh.aliyun.com/live/detail/21999 阿裡雲最佳實踐目前已覆寫23類常用場景,有200多篇最佳實踐,這其中涉及110款以上阿裡雲産品的最佳使用場景。目前,最佳實踐已成功幫助大量客戶實作自助上雲。
分享人
- 解決方案架構師-明譽
- 阿裡雲計算平台事業部産品經理-子關
本篇内容将從3個部分為讀者介紹關于EMR彈性低成本離線大資料分析最佳實踐,希望可以讓大家對EMR有更深入的了解,并可以将這些特性應用到項目中,達到降本提效的目的。
- 最佳實踐原理講解
- EMR核心産品講解
- 最佳實踐系統搭建
一、最佳實踐方案講解
1. 分析效果
在上圖的demo中,分别進行了Hive on MR 和 Hive on tez 的日志資料分析, Hive on tez 的執行效率優于Hive on MR 。目前EMR的Hive引擎支援 Hive on tez 。
展示了完整的電商網站 demo 搭建、日志埋點、日志産生、日志投遞、分析作業和分析工作流的建立,EMR計算叢集彈性伸縮等核心步驟和能力可以參考本實踐來熟悉如何基于阿裡雲公有雲産品搭建和完善自己的離線大資料日志分析系統。
2. 場景描述
- 本最佳實踐講解了如何基于阿裡雲産品快速搭建一個企業級的離線日志大資料分析系統,這裡以搭建一個電商網站使用者通路行為日志分析系統為例。
- 其中用到的核心産品是阿裡雲推出的大資料分析平台EMR,其提供了一站式的大資料系統處了解決方案。
- 本最佳實踐利用EMR結合阿裡雲日志服務SLS、對象存儲OSS和雲資料庫RDS MySOL 版等産品建構一個海量低成本彈性的離線電商網站使用者通路行為日志大資料分析系統。
适用客戶有以下:網際網路行業客戶,例如電商交易客戶等;業務為需要進行離線大資料分析,例如使用者網站通路行為日志;資料已經使用了阿裡雲EMR或者準備使用;具備1-5名有Hadoop背景的工程人員;原有服務基于開源算法體系,但是受限現有人員和成本無法進一步提升。
3. 系統架構圖
最佳實踐的産品清單
系統架構是使用了阿裡雲的CADT工具進行部署,使用者也可以根據本最佳實踐提供的系統架構圖進行一鍵式的本系統資源建構和部署最後用于實踐的測試和驗證。
4. 核心産品EMR
EMR是阿裡雲阿裡雲推出的企業級大資料分析平台E-MapReduce(簡稱EMR),EMR完全相容開源Hadoop生态系統,并且基于阿裡雲大資料團隊豐富的研發運維經驗對相關組建提供了優化能力,例如權限認證、計算引擎、叢集管理、作業管理和排程管理、基礎資源的彈性能力等。并且EMR能夠與阿裡雲的其他雲産品進行無縫內建,例如本實踐裡EMR可以直接分析消費存儲在OSS上的海量日志,提供了計算存儲分離的離線大資料分析架構,友善使用者進行運維管理、作業分析的同時,極大的節省了大資料分析系統的計算和存儲成本。
5. 業務流程圖
在這個離線大資料分析系統中,首先基于阿裡雲的SLB、ECS、RDS等雲産品搭建了一個簡單的電商交易網站,而且在網站頁面代碼裡植入了使用者通路行為埋點日志采集,結合阿裡雲日志服務SLS提供的Webtracking能力将使用者通路日志實時傳送到SLS的logstore裡面。接下來通過SLS的logshipper能力将SLS中存儲的日志準實時地投遞存儲到阿裡雲的對象存儲OSS上面,最後通過阿裡雲EMR的離線大資料分析引擎Hive消費分析存儲在OSS上的日志。在這個過程中展示了EMR在大資料分析作業的作業開發、工作流設計和管理大資料核心系統參數管理等的便捷能力,同時也展現了一邁在底層基礎資源的彈性能力。通過本實踐使用者可以知道如何通過阿裡雲的多個雲産品來完整的建構自己的計算存儲分離架構的離線大資料分析系統,優化和節省計算及存儲成本,同時也可以簡化使用者的大資料分析系統的運維成本。
6. 方案優勢
阿裡雲彈性低成本離線大資料分析系統方案的優勢如下:
- 阿裡雲雲原生産品組合豐富,生态完善。資源豐富,産品組合多樣,"日志服務+存儲服務+大資料分析平台"組合使用。
- 阿裡雲具有成熟的企業級大資料分析平台EMR。完全相容開源生态系統,并在開源生态基礎上強化; 伴随社群生态的發展,全球部署;完整的企業級一體化平台,支援叢集管理、作業管理&排程管理。
- EMR可以提供計算與存儲分離的大資料分析平台。 計算與存儲分離架構,優化使用者資源成本;計算資源彈性伸縮、叢集快速部署。
二、EMR核心産品講解
1. EMR軟體棧
EMR是阿裡雲上一款開源大資料平台産品,EMR主要由四個主要組成部分。
- 第一部分是對接開源生态,這部分主要對接了常用的開源大資料産品,産品群組件包括HDFS、YARN、Kudu等存儲計算引擎,這部分100%采用開源組建,使用者是在使用的時候可以完全無縫與現有的大資料産品使用習慣完全相同。
- 第二部分是EMR在完全相容開源API接口基礎上實作了核心的核心增強,比如Spark、Flink、TensorFlow、Delta Lake等開源元件。
- 第三部分是EMR自研的包括監控告警、智能運維、JindoFS、EMR Agent等叢集管理和在使用開源大資料元件時和雲生态對接的一些功能。
- 第四部分是與阿裡雲密切配合的其他雲産品,比如OSS、日志服務SLS、ECS、ECI、ACK等産品。
2. EMR VS開源大資料管理平台
EMR 與開源大資料自建平台相比,具有低成本、大規模、豐富雲生态、高性能四個核心性能的增強。
在成本方面,通過實作彈性伸縮、Spot+預留執行個體的購買方式實作了計算成本降低20%以上,實作資料全生命周期管理、資料分層存儲使存儲成本降低了10%以上。
EMR具有豐富的叢集管理經驗,能夠在數千台的大規模叢集上實作快速的向HDFS、DataNode、NameNode的滾動重新開機、DAtaNode的Decommission優化、YARN大規模資源排程優化等功能。
EMR與開源雲生态的結合,Dataworks、PAI是計算平台優秀的工作流處理和管理以及機器學習工具,可以與EMR無縫內建。同時EMR基于ECS可以實作一些部署集邏輯嚴格打散以及E2E的運維流程。
EMR相比較與開源性能大幅提升,如AE、物化視圖、runtime filter、Remote Shuffle Service,極大地提升了在計算性能上、計算穩定性上的躍升。
三、最佳實踐系統搭建
1. 通過CADT部署資源
- 登入 雲速搭CADT 管理控制台。
- 單擊建立 > 官方模闆庫建立。
- 找到“EMR彈性低成本離線大資料分析”模闆,單擊基于方案建立,可以根據具體業務需求使用該公共模版并配置自己需要的參數進行資源架構的建立。
- 使用者配置好相關參數,如VPC設定、vswitch配置、SLB配置、eip配置等等,單擊右上角的儲存,并設定應用名稱。
- 單擊部署應用。
- 按界面提示依次完成資源校驗、确認應用成本并支付下單,建立資源。
2. 搭建電商網站Demo
RDS資料庫配置
- 進入 RDS 控制台,找到建立的執行個體,單擊管理,找到并記錄 RDS 的内網位址。
- 進入資料庫管理,建立新的資料庫。
電商應用安裝
- 在 SLB 控制台找到之前建立的 SLB 執行個體的 EIP 位址,進行拷貝,在浏覽器打開。
- 檢查安裝環境
- 環境正常,進行下一步安裝。
- 從 RDS 中擷取資料庫内網通路位址,輸入賬号密碼和資料庫名稱。
- 填寫電商網站的前台和背景位址,單擊下一步。
- 進行商店個性化配置,選擇時區、貨币、語言等。
7.進行背景管理者賬号配置。請儲存好設定的管理者賬号和密碼,以便後續步驟登入電商背景管理界面使用。
8.開始進行安裝,忽略進度條。
- 稍等一會,使用 SLB 的 EIP 位址用浏覽器打開,可以通路電商網站前端界面表示安裝成功。
3. 電商網站日志生産
OSS Bucket相關配置
- 在通過 CADT 部署資源中已經使用 CADT 部署了該實踐所需的 OSS Bucket。
- 輕按兩下選擇建立的 OSS bucket,然後選擇檔案管理 > 上傳檔案,将 loghub-tracking.js腳本上傳到該 bucket 下。
- 同樣在該 Bucket 的“檔案管理”工作界面的 “建立目錄”下建立一個名為 tes2 的目錄供後續存放從 SLS 投遞過來的日志。
SLS日志服務WebTracking配置
- 在通過 CADT 部署資源中已經通過 CADT 開通了該實踐所需的 SLS 的 Project 和logstore,并且開通了 WebTracking 功能,在日志服務控制台的接入資料界面找到WebTracking(支援模糊搜尋)。
- 開始進行 WebTracking 功能配置。
電商網站埋點
- 使用之前電商網站搭建時設定的管理者賬号和密碼登陸電商網站背景管理界面( http://SLB 的 EIP 位址/admin),進入内容配置頁面,編輯主站的設計。
- 在 HTML Head 的 Scripts and Style Sheets 處,插入如下内容并儲存(可以從附件中拷貝),注:第 2 行的 loghub-tracking.js 存放位址和第 4 行的日志服務 SLS 的 project名和 logstore 名請根據使用者自己的實際情況進行修改。
- 通路電商網站頁面就會把埋點日志上傳到 SLS 日志系統。進入 Logstore 檢視日志,模拟使用者行為的日志資料已經生成并上傳到了日志庫。
4. 日志投遞到OSS
開啟日志投遞
- 在開啟日志服務資料投遞到 OSS 之前,使用者首先需要完成雲資源通路授權,使用者通路連結 https://help.aliyun.com/document_detail/29002.html ,然後單擊雲資源通路授權,完成雲資源對日志服務的通路授權。
- logstore 的日志投遞到 OSS 需要擷取使用者的 ARN,接下來擷取 ARN,首先進入通路控制(RAM)控制台。
- 然後在 RAM 控制台選擇“RAM 角色管理”, 單擊“AliyunLogDefaultRole”這條 RAM角色,擷取使用者的 ARN。
- 接下來在日志服務控制台單擊之間建立的 Project 進入日志庫,開始進行日志投遞到OSS 的配置;然後單擊 OSS 以及“開啟投遞”,準備投遞日志到 OSS 服務的相關配置。
- 單擊确定,确定日志投遞到 OSS 的配置。
- 再次使用前面建立的 SLB 的 EIP 位址直接浏覽器通路模拟的電商網站,就會執行腳本不停生成新的通路日志。
查詢OSS上的日志存儲
- 在日志服務控制台選擇建立的日志庫,檢視日志投遞到 OSS 的任務每隔 5 分鐘(預設,也可以自定義設定)已經生成并投遞成功。
- 在 OSS 控制台對應的 bucket 下的檔案目錄可以查詢到已投遞過來的日志。
5. EMR叢集配置
彈性EMR叢集
- 使用前面的 CADT 工具已經建立好了本實踐所需的 EMR 叢集。
- 硬體配置,按量付費。
- EMR 叢集預設不開啟公網通路,如需通過公網通路,需要給 Master 節點挂載 EIP。
- 勾選服務條款協定,确認配置完成叢集建立。叢集建立成功以後,可以在叢集管理 > 服務清單檢視叢集所能支援的服務。
- 建立彈性伸縮叢集。
- EMR 控制台進入叢集清單單擊選擇建立的叢集,選擇彈性伸縮,在彈性伸縮 > 彈性伸縮配置裡選擇建立彈性伸縮組,然後選擇需要的計算機型和配置以及付費類型等,建立機器組。
- 對建立的機器組配置彈性伸縮規則。
- 添加擴容和縮容規則,伸縮規則支援按照規定時間伸縮和按照規定負載伸縮。
- 開啟彈性伸縮狀态。
- 在彈性伸縮記錄可以檢視機器組機器的擴容和縮容記錄。