【云駐共創】華為云大數據技術解密之MapReduce服務

      網友投稿 1047 2025-03-31

      目錄

      1、大數據介紹

      2、MRS服務介紹

      3、動手實踐

      大數據是人類進入互聯網時代以來面臨的一個巨大問題:社會生產生活產生的數據量越來越大,數據種類越來越多,數據產生的速度越來越快。傳統的數據處理技術,比如說單機存儲,關系數據庫已經無法解決這些新的大數據問題。為解決以上大數據處理問題,Apache基金會推出了Hadoop大數據處理的開源解決方案。Hadoop是一個開源分布式計算平臺,可以充分利用集群的計算和存儲能力,完成海量數據的處理。企業自行部署Hadoop系統有成本高,周期長,難運維和不靈活等問題。

      針對上述問題,華為云提供了大數據MapReduce服務(MRS),MRS是一個在華為云上部署和管理Hadoop系統的服務,一鍵即可部署Hadoop集群。MRS提供租戶完全可控的一站式企業級大數據集群云服務,完全兼容開源接口,結合華為云計算、存儲優勢及大數據行業經驗,為客戶提供高性能、低成本、靈活易用的全棧大數據平臺,輕松運行Hadoop、Spark、HBase、Kafka、Storm等大數據組件,并具備在后續根據業務需要進行定制開發的能力,幫助企業快速構建海量數據信息處理系統,并通過對海量信息數據實時與非實時的分析挖掘,發現全新價值點和企業商機。

      一、大數據介紹

      隨著信息化和智能化的發展,人們的一言一行更容易通過電子設備形成一條條數據進行記錄和收集。比較常見的是我們使用的手機、手環等終端設備,數據本身沒有特別的作用,但是能從數據里面發現信息、總結規律,那么數據就非常有價值。舉個簡單的例子,我們常用的購物軟件、新聞軟件會收集我們的瀏覽數據,然后對這些數據進行分析,下次就會將我們感興趣的內容推送過來,提高產品的吸引力。那么由于終端、智能終端的普及,越來越多的人可以使用到這些產品,這時候收集到的數據和種類也越來越多,傳統的系統對這些龐大的數據力不從心,解決大數據的技術也就應運而生了。

      目前Apache的多個體系是業界通用的大數據解決方案,它受到google的MapReduce和google File System?的啟發,在2005年被納入Apache。而且在開源項目當中,基于它的分布式計算框架和分布式文件系統,能夠很好地解決數據量大、種類多、產生速度快的問題,所以在開源社區中反響非常熱烈,越來越多的公司開始使用這個解決方案,并且發現將發現的問題反饋給開源社區。同時也有越來越多的開發者投入到開源社區的開發中,逐漸完善整個系統,形成了一個良性循環。并且在Hadoop的基礎上也衍生了其他的技術來解決各種各樣的大數據問題,例如非關系型數據庫HBase、數據倉庫hive等。接下來我們來逐一介紹一下常用的大數據組件。

      MRS架構包括了基礎設施和大數據處理流程各個階段的能力。

      基礎設施

      MRS基于華為云彈性云服務器ECS構建的大數據集群,充分利用了其虛擬化層的高可靠、高安全的能力。

      虛擬私有云(VPC)為每個租戶提供的虛擬內部網絡,默認與其他網絡隔離。

      云硬盤(EVS)提供高可靠、高性能的存儲。

      彈性云服務器(ECS)提供的彈性可擴展虛擬機,結合VPC、安全組、EVS數據多副本等能力打造一個高效、可靠、安全的計算環境。

      數據集成

      數據集成層提供了數據接入到MRS集群的能力,包括Flume(數據采集)、Loader(關系型數據導入)、Kafka(高可靠消息隊列),支持各種數據源導入數據到大數據集群中。

      數據存儲

      MRS支持結構化和非結構化數據在集群中的存儲,并且支持多種高效的格式來滿足不同計算引擎的要求。

      HDFS是大數據上通用的分布式文件系統。

      【云駐共創】華為云大數據技術解密之MapReduce服務

      OBS是對象存儲服務,具有高可用低成本的特點。

      HBase支持帶索引的數據存儲,適合高性能基于索引查詢的場景。

      數據計算

      MRS提供多種主流計算引擎:MapReduce(批處理)、Tez(DAG模型)、Spark(內存計算)、SparkStreaming(微批流計算)、Storm(流計算)、Flink(流計算),滿足多種大數據應用場景,將數據進行結構和邏輯的轉換,轉化成滿足業務目標的數據模型。

      數據分析

      基于預設的數據模型,使用易用SQL的數據分析,用戶可以選擇Hive(數據倉庫),SparkSQL以及Presto交互式查詢引擎。

      數據呈現調度

      用于數據分析結果的呈現,并與數據湖工廠(DLF)集成,提供一站式的大數據協同開發平臺,幫助用戶輕松完成數據建模、數據集成、腳本開發、作業調度、運維監控等多項任務,可以極大降低用戶使用大數據的門檻,幫助用戶快速構建大數據處理中心。

      集群管理

      以Hadoop為基礎的大數據生態的各種組件均是以分布式的方式進行部署,其部署、管理和運維復雜度較高。

      MRS集群管理提供了統一的運維管理平臺,包括一鍵式部署集群能力,并提供多版本選擇,支持運行過程中集群在無業務中斷條件下,進行擴縮容、彈性伸縮。同時MRS集群管理還提供了作業管理、資源標簽管理,以及對上述數據處理各層組件的運維,并提供監控、告警、配置、補丁升級等一站式運維能力。

      首先是HDFS,HDFS是基于google發布的google File System論文進行設計開發,運行在通用軟件上的分布式文件系統,簡單來說就是將很多普通配置的機器結合起來,形成一個完整的文件系統。例如我們有一百臺機器,每臺機器只有1TB的存儲空間,這時候HDFS可以將這一百臺機器聯合起來,管理所有機器的存儲空間,從而形成一個100TB的文件系統。

      接下來我們來介紹一下HDFS的主要特點。

      首先是高容錯性,HDFS認為這些普通機器隨時可能會壞掉,所以存在HDFS里面的數據通常會有三份,分別存儲在不同機器上面。如果有一臺機器壞掉了,HDFS會將這臺機器存儲的數據備份到其他機器上,始終保持三份數據存在,以此來保證自身系統的可靠性。

      第二個是高吞吐量,HDFS可以將命令下發到他所管理的機器上,同時進行數據的讀寫,提高數據的吞吐量。

      第三個是大文件存儲,HDFS支持存儲TB到PB級別的數據。理論上我們可以通過擴容每臺機器的硬盤容量和機器數量來達到無限的存儲空間。

      接著我們來介紹HDFS常用的三個概念。

      NameNode : NameNode用于存儲、生成文件系統的元數據信息。這些信息包括文件的物理地址、文件大小、備份數據、數據等。

      DataNode : DataNode用于存儲實際的數據,將自己管理的數據信息上報給NameNode 。

      Client :支持業務訪問HDFS,從NameNode ,DataNode獲取數據返回給業務。

      Hadoop:大數據的開源解決方案

      然后我們來介紹一下MapReduce。MapReduce是基于google的分布式計算框架MapReduce論文進行設計、開發,用于大規模數據集的并行運算。它的原理是將每一個任務拆分成多個子任務,然后分配到多個節點進行計算,最后將結果進行匯總。比如我們要對1TB數據進行排序,如果單擊處理的話,那么排序的時間就會非常的長,但是將這些數據拆分給多臺機器,每臺機器都對一部分數據進行排序,最后將排序結果進行匯總,這樣排序的使用效率就大大的提高了。

      其中每個拆分的任務稱為map,匯總的任務稱為Reduce。MapReduce的主要特點就是易于編程,程序員只需要設計好map和Reduce的工作內容不必考慮如何進行并行計算的調度,大大減輕了開發程序的工作量。那誰來控制MapReduce任務的運行呢?

      這邊我們就要說到Yarn,Yarn是Hadoop 2.0的資源管理系統主要管理機器的內存和cpu等計算資源,并且對應用程序提供作業調度服務。除了提供MapReduce框架以外,還可以支持spark自動等框架。它具有良好的拓展性,可以通過添加節點以擴展集群能力。它也有高容錯性,可以通過計算遷移策略來提高集群的容錯性。當他檢測到一臺機器的任務失敗后,他會將這兩個任務分配給其他機器繼續執行,以此來保證最終任務的完成。接下來我們來了解樣的核心理念。resourcemanager、Node manager和container。

      resourcemanager是負責集群資源和計算框架的管理,可以根據容量、隊列限制條件,將系統中的資源分配給各個正在執行的應用程序,然后監控程序的運行狀態。而Nodemanager會運行在每臺機器上,是資源分配和監控的最終執行者。container是Yarn的資源抽象,它裝在某個節點上面的多維度資源,比如內存、cpu、磁盤、網絡等,并且任務最終是運行在container當中。

      接下來介紹以Hadoop為基礎衍生的大數據技術。很多數據分析師不一定會寫程序,但是他們是數據庫的專家,精通各種sql語句,于是就有了Hive,Hive是基于哈杜普的數據倉庫軟件,可以查詢和管理pb級別的分布式數據,可以將SQL查詢查轉換為MapReduce任務實現數據的處理。Hive經常用在于數據清洗、非實時分析和數據挖掘等場景。

      接下來我們來了解一下Hive的核心組件,Hiveserver、MetaStore和WebHcat,Hive對外提供的Hive數據庫服務,可以將用戶提交的sql語句進行編譯,解析成對應的MapReduce任務或者HDFS操作,并且返回查詢結果。MetaStore提供了hive的原數據服務,負責hive的表結構和屬性信息的讀、寫和修改。為WebHcat提供的rest接口,可以通過rest請求執行hive命令,提交MapReduce任務。由于hive基于MapReduce框架實時查詢能力較弱。

      當要使用實時查詢時,我們可以使用HBase。HBase是一個高可用、高性能、面向列、可伸縮的分布式數據庫,提供海量數據的存儲功能,用來解決關系型數據庫在處理海量數據時的局限性。改變HBase可以滿足大表數據的存儲,需要高效隨機讀取和同時存處理結構化和非結構化數據的場景。接下來我們來了解HBase的核心組件HMater和Regionserver。HMater是負責HBase中Regionserver的管理,包括表的增、刪、改、查。Regionserver的負載均衡等,而Regionserver是負責提供表數據的讀寫服務,是HBase數據處理的計算單元。

      接下來我們介紹一下HBase的協作組件,HDFS和zookeeper。Zookeeper是作為HBase的文件存儲,HBase 的數據全部存儲在HDFS當中,并且Regionserver一般與HDFS的datanode部署到一起。而Zookeeper為HBase提供分布式的協作服務。所有的Regionserver會將自己的信息注冊到Zookeeper中,HMater可以根據Zookeeper的信息感知到各個Regionserver的健康狀態。

      Spark是一種通用的高性能集群計算系統,既有類似于MapReduce的分布式內存計算框架,也有類似于hive的類SQL查詢,還提供了實時數據的處理引擎和機器學習的算法庫,所以它覆蓋的使用場景比較多,比如快速的數據清洗、實時數據分析、數據挖掘和機器學習等。相比于MapReduce來講,它的核心特點就是使用內存進行計算。MapReduce會將計算之后中間結果存放到HDFS當中,然后再從HDFS讀取這些數據進行再計算。而Spark會將中間結果存放到內存里面,直接在內存里面進行迭代計算,大大提高了計算的效率。

      之前介紹的組件多數適用于離線數據的處理,接下來我們介紹適合實時數據處理的組件。首先是kafka,kafka是一個高吞吐、分布式、基于發布訂閱的消息系統,利用kafka技術可以在廉價的機器上搭建起大規模消息系統,適用于離線和在線的消息消費。實時數據就像水流一樣源源不斷,而kafka就像一個蓄水池,有入水口和出水口,入水口的程序我們稱為生產者,出水口的程序我們稱為消費者,而生產者往這個水池里生產數據,消費者就在這個水池里對數據進行消費處理,所以kafka常用于常規的消息收集、網站的活性跟蹤和聚合統計系統的運營數據等。

      剛才提到消費者程序,那我們就來說一下Storm,Storm是一個分布式實時計算框架,具有高度容錯、低時延的優點,所謂Storm常用于實時分析、實時統計和實時推薦等場景。我們從Storm的工作流中介紹Storm各個角色的功能。首先,client客戶端向Nimbus提交具體的分析任務和Nimbus負責接收客戶端提交的任務,并且將任務分發給Supervisor,Supervisor負責監聽并接收Nimbus分配的任務,根據需要啟動和停止屬于自己管理的Worker進程。Worker進程是運行具體處理組件邏輯的進程,每一個Worker是單獨的一個jvm進程,其中Executor是Worker里面的線程,負責處理具體的業務邏輯。而Zookeeper為服務提供分布式的協作。

      Nimbus、Supervisor、Worker會將自己的信息注冊到Zookeeper中,Nimbus可以根據Zookeeper里面的信息感知各個角色的狀態。

      講完消費者,我們再來介紹可以作為生產者傳說數據的Flume,Flume是一個分布式、可靠和高可用的海量日志聚合的系統,支持在系統中定制各各類數據發送方,用于。收集數據然后寫到各種數據接收方的能力,用戶幾乎不必進行任何額外的開發即可使用,只需要配置好Source、Channel和Sink就可以進行數據傳輸。所謂Flume適用于需要傳輸數據并且較少開發的場景。接下來我們來介紹Flume的三個角色,Source也就是數據源。我們會將元始數據建模抽象成自己處理的數據對象,然后緩存到Channel的當中,而Channel的主要作用就是臨時緩存數據,接下來就是Sink從Channel中出取出數據,并將數據放到最終的目的地當中。

      二、華為云MRS介紹

      要使用大數據技術,就需要搭建大數據環境,但是在搭建環境時就會面臨以下問題,需要提前購買服務器,并且后續還需要維護這些服務器,建設成本非常高。然后需要搭建完大數據環境再部署業務。近十個組件都要部署的話,沒有一周的時間是無法完成的。并且搭建后的集群如果是基于開源社區提供的版本,還沒有完全的安全加固措施,很容易被非法人員進行入侵。即使把大數據環境部署好了,還需要專門懂得大數據技術的人維護這些組件,想到這些事情是不是瞬間想要放棄使用大數據技術。

      別擔心,使用華為的MapReduce可以輕松地解決這些問題。MapReduce服務是云時代全站企業級的大數據服務,簡稱MRS,MRS可以快速的部署通用大數據技術,并且在開源的基礎上進行大量的增強。MRS還有長期在Hadoop、spark社區貢獻的專家團隊,及時解決開源的大數據問題,并且能提供企業級的集群管理能力,既有高可用的HA部署,也有多級用戶管理,所以MRS對企業來說是一個既能滿足大數據處理的大數據平臺,而且對學習用戶來說,也是可以快速學習大數據內核知識的平臺,免去安裝、部署等繁瑣的步驟。

      接下來我們來介紹一下MRS的主要優勢。首先是易運維,用戶可以在分鐘級別內完成集群的創建,無需關注硬件的購買和維護,擁有專門研發的企業級集群管理系統,可以讓用戶更好的監控和管理大數據平臺,并且可以通過短信和或者郵件的方式提醒用戶平臺異常。

      然后是高安全,那么是通過華為專業的安全團隊和德國PSA安全認證測試,提供Kerberos認證技術和角色級別的安全控制。非法人員無法對集群進行操作,具有完整的審計功能,所有操作都可追溯。

      最重要的是低成本,可以靈活配置節點和磁盤規格,最低規格只需要兩塊兩毛五一小時即可體驗大數據集群,還可以支持集群按需擴容、縮容,支持臨時集群作業運行完自動銷毀,支持自定義策略集群自動彈性伸縮。

      MRS還可以和華為云的很多服務進行配合使用,例如使用數據湖工廠對MRS進行任務的調度、編排,或者使用機器學習、深度學習服務對存儲在MRS的數據進行再加工,提高數據價值。也可以使用語音識別和圖像識別服務對存儲的視頻、音頻文件進行處理。

      接著我們來介紹MRS的基本使用場景,首先是MRS離線分析場景應用:

      1.用戶將待分析的數據存儲到HDFS中

      2.用戶向MapReduceSpark或Hive提交數據清洗作業

      3.在通過Yan分配資源執行完任務后會將結果數據存放在HDFS中

      4.此時用戶可以選擇將HDFS中的結果數據導入HBase以便直詢或直接把結果數據提出到應用做進一步處理

      上圖便是將雜亂的駕駛行為數據進行分析、處理,最后生成規整的車輛違規統計信息用于查詢。

      講完離線場景,我們再來講講實時分析場景,應用可以將實時數據通過Flume或編寫kafka程序導入到kafka中,然后編寫Storm程序對實時分數據進行處理,處理后的數據可以存儲到HDFS中,也可以提供給應用進行展示。上圖便是將實時的交通車輛信息進行分析。統計路上的交通狀況,然后在頁面進行展示。

      三、動手實踐:如何使用MRS服務

      作業一:

      我們一起來學習如何使用 MRS來完成離線數據的分析

      基本步驟:創建MRS分析集群,上傳原始數據到OBS,使用Spark程序完成數據處理到查看結果數據

      實踐項目介紹和具體操作步驟指導-:https://obs-train-data.obs-website.cn-north-1.myhwclouds.com/MRS作業一操作指導書.docx

      1.1使用Spark2x實現車聯網車主駕駛行為分析

      1.場景描述

      2.第一步;創建集群

      3.第二步:準備Spark 樣例程序和樣例數據

      4.第三步:創建作業

      5.第四步;查看作業執行結果

      場景描述:

      目的:了解MRS的基本功能,利用MRS服務的Spark2x組件,對車主的駕駛行為進行分析統計,得到用戶駕駛行為的分析結果。

      場景:本次實戰的原始數據為車主的駕駛行為信息,包括車主在日常的駕駛行為中,是否急加速、急減速、空擋滑行、超速、疲勞駕駛等信息。通過Spark2x組件的強大的分析能力,分析統計指定時間段內,車主急加速、急減速、空擋滑行、超速、疲勞駕駛等違法行為的次數。

      創建集群

      步驟1,登錄華為云管理控制臺。

      步驟2,在“服務列表”中,選擇“大數據>MapReduce服務”。

      步驟3, 單擊頁面右上角“購買集群”,進入購買集群頁面。

      步驟4,選擇“自定義購買”

      自定義購買-硬件配置

      步驟6,單擊“下一步”,高級配置頁簽參考表1-3配置以下信息,其他選項保持默認值。

      步驟7,單擊“立即購買”,進入任務提交成功頁面。

      步驟8 ,單擊“返回集群列表”,可以查看到集群創建的狀態。集群創建需要時間,所創集群的初始狀態為“啟動中”,創建成功后狀態更新為“運行中”,請您耐心等待。

      準備Spark2x樣例程序和樣例數據

      步驟1 創建OBS并行文件系統,用于存放Spark 樣例程序、樣例數據、作業執行結果和日志。

      1.登錄華為云管理控制臺。

      2.在“服務列表”中,選擇“存儲>對象存儲服務”。

      3.單擊“并行文件系統>創建并行文件系統”,創建一個名稱為obs-demo-analysis-hwt4 的文件系統。存儲類別和桶策略等參數分別保持默認值。

      創建并行文件系統

      步驟⒉單擊obs-demo-analysis-hwt4 文件系統名稱。選擇左側導航欄“文件”,在“文件”頁簽下單擊“新建文件夾”,分別新建program、input 文件夾,如圖所示。

      步驟3 從https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweic loud.com/mrs-demon-samples/demon/driver_behavior.jar路徑下載樣例程序driver_behavior.jar至本地。

      步驟4 進入program文件夾,單擊“上傳文件”,選擇本地存放的driver_behavior.jar樣例程序。

      步驟5 單擊“上傳”,上傳樣例程序到OBS桶。

      步驟6 從 https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/detail-records.zip獲取 Spark樣例數據到本地。

      步驟7 解壓獲取到的 Spark樣例數據。

      步驟8 進入input文件夾,單擊“上傳文件”,選擇本地存放的Spark樣例數據。

      步驟9單擊“上傳”,上傳樣例數據到OBS文件系統。

      創建作業

      步驟1 在MRS控制臺左側導航欄選擇“集群列表>現有集群”,單擊名稱為“mrs _demo"的集群。

      步驟2 在集群信息頁面選擇“作業管理”頁簽,單擊“添加”,進入添加作業頁面。

      步驟3 按圖完成作業參數配置。

      添加作業

      步驟4? 單擊“確定”,開始提交作業,執行程序。

      查看作業執行結果

      步驟1進入“作業管理”頁面,查看作業執行狀態。

      步驟2? 等待1~2分鐘,登錄OBS控制臺,進入obs-demo -ana lysis-hwt4文件系統的output目錄中,查看執行結果,在生成的csv文件所在行的“操作”列單擊“下載”按鈕將該文件下載到本地。

      下載作業執行結果如圖:

      步驟3 在本地將下載后的csv文件使用Excel自文本打開,按照樣例程序中定義的字段為每列數據進行分類,得到如下圖所示作業執行結果。

      執行結果如圖:

      總結:

      華為云提供了大數據MapReduce服務(MRS),MRS是一個在華為云上部署和管理Hadoop系統的服務,一鍵即可部署Hadoop集群。MRS提供租戶完全可控的一站式企業級大數據集群云服務,完全兼容開源接口,結合華為云計算、存儲優勢及大數據行業經驗,為客戶提供高性能、低成本、靈活易用的全棧大數據平臺,輕松運行Hadoop、Spark、HBase、Kafka、Storm等大數據組件,并具備在后續根據業務需要進行定制開發的能力,幫助企業快速構建海量數據信息處理系統,并通過對海量信息數據實時與非實時的分析挖掘,發現全新價值點和企業商機。

      本文整理自華為云社區【內容共創系列】活動。

      查看活動詳情:https://bbs.huaweicloud.com/blogs/314887

      相關任務詳情:華為云MapReduce服務

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel為什么要使用內置照相機 Excel照相機拍照粘貼使用全教程
      下一篇:2016版本如何給圖片設置鎖定縱橫比(圖片鎖定縱橫比怎么設置)
      相關文章
      午夜亚洲av永久无码精品| 亚洲高清有码中文字| 亚洲精品无码不卡在线播HE| 噜噜综合亚洲AV中文无码| 亚洲日韩精品无码AV海量| 日韩亚洲国产综合高清| 最新亚洲卡一卡二卡三新区| 亚洲国产成人资源在线软件| 亚洲黄色免费观看| 亚洲视频在线观看网站| 久久久婷婷五月亚洲97号色 | 国产V亚洲V天堂A无码| 亚洲熟妇丰满多毛XXXX| 中文字幕精品亚洲无线码一区| 国产亚洲?V无码?V男人的天堂| 亚洲综合色成在线播放| 国产亚洲美女精品久久久2020 | 亚洲国产精品久久丫| 亚洲一区电影在线观看| xxx毛茸茸的亚洲| 亚洲日本VA午夜在线影院| 亚洲午夜成人精品无码色欲| 亚洲爆乳无码精品AAA片蜜桃| 亚洲AV日韩综合一区| 亚洲国产精品成人久久蜜臀| 亚洲成AⅤ人影院在线观看 | 亚洲小说区图片区| 亚洲中文无码永久免费| 亚洲av无码偷拍在线观看| va亚洲va日韩不卡在线观看| 亚洲中文字幕无码久久2017| 久久亚洲国产欧洲精品一| 亚洲综合精品香蕉久久网97| 亚洲毛片基地日韩毛片基地| 亚洲人精品亚洲人成在线| 亚洲AV成人精品日韩一区 | 亚洲综合激情六月婷婷在线观看| 亚洲天堂中文字幕在线观看| 亚洲中文字幕无码中文字| 噜噜噜亚洲色成人网站| 亚洲精品无码AV人在线播放|