原創|使用教程|編輯:龔雪|2014-08-21 13:57:19.000|閱讀 589 次
概述:大數據時代,研究大數據的 IT 廠商把研究重心放在優化大數據系統軟件架構、優化業務邏輯、優化數據分析算法、優化節點性能等方向,而忽略了大數據環境基礎設置中網絡環節的評估和優化。本文介紹了思科公司在 Hadoop 集群環境下的網絡架構設計與優化經驗。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
大數據時代,研究大數據的 IT 廠商把研究重心放在優化大數據系統軟件架構、優化業務邏輯、優化數據分析算法、優化節點性能等方向,而忽略了大數據環境基礎設置中網絡環節的評估和優化。本文介紹了思科公司在Hadoop集群環境下的網絡架構設計與優化經驗。
大數據Hadoop環境網絡特性
Hadoop集群中的各節點通過網絡連接起來,而且MapReduce中的以下過程會在網絡中傳輸數據。
(1)寫數據。當向 HDFS 寫入初始數據或者大塊數據時,會發生數據寫入過程。寫入的數據塊需要備份到其他節點,需要在網絡中傳輸這些數據。
(2)作業執行。
① Map 階段。在算法的 Map 階段,幾乎不需要在網絡中傳輸數據。在 Map 開始階段,當 HDFS 數據沒有本地性(數據塊不在本地存儲,需要從其他節點拷貝)時,才需在網絡中傳輸數據。
② Shuffle 階段。這是作業執行中在網絡中傳輸數據的階段,數據傳輸的程度依賴于作業。Mapper 階段的輸出內容,會在這個時候傳輸到 Reducer 進行排序。
③ Reduce 階段。因為 Reducer 需要的數據已經從Shuffle 階段傳來,所以此階段不需要網絡傳輸數據。
④ Output 復制。MapReduce 的輸出作為文件存儲在 HDFS 上。當將輸出結果寫入 HDFS 時,產生的備份會在網絡中傳輸。
(3)讀數據。當應用程序如網站、索引或者 SQL數據庫從 HDFS 讀取數據時,會發生數據讀取的過程。另外,網絡對 Hadoop 的控制層非常重要,比如HDFS 的信令和運維操作,以及 MapReduce 架構都受到網絡影響。
五種網絡特性
思科公司針對 Hadoop 集群環境下的網絡環境進行了一個測試,測試結果顯示,一個有彈性的網絡對Hadoop 集群非常重要;對 Hadoop 集群具有重要影響的網絡特性,以其影響程度從大到小依次排序為:網絡可用性和彈性、Burst 流量突發處理和隊列深度、網絡過載比、Datanode 網絡接入和網絡延遲。
(1)網絡可用性和彈性。要部署一個高冗余性和可擴展的網絡,支持 Hadoop 集群的增長。在 Datanode之間部署多條鏈路的技術要比那些有單點失效或兩點失效的技術要好。交換機和路由器已經在業界被證明能夠為服務器提供網絡可用性。
(2)Burst 流量突發處理和隊列深度。HDFS 的有些操作和 MapReduce Job 會產生突發流量,如向 HDFS加載文件或者把結果文件寫入 HDFS 都需要通過網絡。網絡如果處理不了突發流量,就會丟棄數據包,所以適當的緩存可以緩解突發流量的影響。確保選擇使用緩存和隊列的交換機和路由器,來有效處理流量突發。
(3)網絡過載比。一個好的網絡設計需要考慮到網絡中關鍵節點的擁塞情況。一個 ToR 交換機從服務器接收 20Gbps 的數據,但是只有 2 個 1Gbps 的上聯口會造成數據包丟失(10:1 的過載比),嚴重影響集群的性能。過度配置的網絡的價格又非常昂貴。一般情況下,服務器接入層可以接受的過載比在 4:1 左右,接入層和匯聚層之間,或者核心層的過載比在 2:1左右。
(4)Datanode 網絡接入。要基于集群工作負荷來推薦帶寬配置。一般集群中的節點有 1 到 2 根 1GB 的上聯口。是否選擇 10Gbps 的服務器要權衡價格和性能。
(5)網絡延遲。交換機和路由器延遲的變化對集群性能的影響有限。相比網絡延遲,應用層延遲對任務的影響比例更大。但是網絡的延遲會對應用系統造成潛在的影響,例如造成不必要的應用切換等。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網