Hadoop虛擬化的性能對比和調優經驗

虛擬化爲Hadoop注入了前所未有的活力,從IT生產管理的角度,表現爲以下幾點:

·Hadoop和其他消耗不同類型資源的應用一起部署共享數據中心可以提高總體資源利用率;

·靈活的虛擬機操作使得用戶可以動態的根據數據中心資源創建、擴展自己的Hadoop集羣,也可以縮小當前集羣、釋放資源支持其他應用如果需要;

·通過與虛擬化架構提供的HA、FT集成,避免了傳統Hadoop集羣中的單點失敗,再加之Hadoop本身的數據可靠性,爲企業大數據應用提供了可靠保證。

基於這些原因,vSphere Big Data Extensions(BDE)爲用戶在虛擬化環境中靈活的部署和管理Hadoop集羣提供了有效的支持。除卻這些優勢,虛擬化是否會傷害Hadoop運行的性能呢?爲此,我們在同等規模上做了虛擬化部署和物理部署的Hadoop集羣的性能對比和優化,實驗表明虛擬化Hadoop集羣可以很好地支持生產環境。

虛擬化環境和物理環境的性能對比

1顯示了性能調優試驗的部署樣式,一臺物理服務器上只部署一臺虛擬機,TasktrackerDatanode一起跑在同一個節點中。因爲每個虛擬節點可以使用全部的服務器資源,方便進行虛擬化和傳統物理環境部署的Hadoop做性能對比和分析。試驗結果在圖2中顯示,虛擬化Hadoop相對於物理環境的性能對比幾乎是持平的


152109994.png

圖1:性能對比部署

154041173.png

圖2:Apache Hadoop 1.2物理部署和虛擬化部署的性能對比


3顯示了更推薦生產環境使用的部署拓撲,一臺物理服務器上部署多臺虛擬節點。如圖2所示,這種部署將增加資源利用率從而得到更高的性能。

154404490.png

圖3:多虛擬機的部署


同時,我們把這些實驗經驗內嵌到vSphere BDE部署的Hadoop集羣系統配置當中,屏蔽了性能優化的複雜性。雖然不同的數據中心設置和集羣配置可能帶來不同的表現,這裏按照創建、配置、擴展Hadoop集羣的順序跟大家分享一些通用的經驗:


Hadoop虛擬化的調優經驗:


1計劃初始規模:集羣表現於跟數據中心基礎設施和配置密切相關,建議用戶在一開始對環境表現難以預測的時候,先建立小規模集羣,比如5臺或者6臺服務器,部署Hadoop,然後運行標準Hadoop基準瞭解自己數據中心的特點。然後根據需要逐步添加服務器和存儲等資源。


2選擇服務器CPU建議不要少於2 * Quad-core並且激活HTHyper-Threading);爲每個計算內核配置至少4G內存,並且預留6%的內存爲虛擬化的有效運行。Hadoop性能對I/O很敏感,建議每臺服務器配置多塊本地存儲而不建議配置少塊大容量的硬盤。考慮任務調度的代價,對於每個計算內核不建議配置超過2塊本地存儲。爲高性能考慮,推薦使用10G網卡。考慮爲主節點服務器(運行namenodeJobtracker)配置雙電源以提高可靠性。


3虛擬化配置:本地存儲儘量避免配置成RAID,爲每一個物理盤創建一個datastore虛擬化網絡配置時爲了可靠性和網絡傳輸效率,隔離管理網絡和Hadoop集羣網絡。如圖4所示:

154628452.png

圖4:虛擬化網絡配置


4系統設置BDE將會自動配置根據實驗經驗取得的虛擬磁盤和操作系統參數,向用戶屏蔽性能優化的具體細節。建議對性能敏感的用戶替換默認模板採用CentOS6*,因爲Linux 6.* 內核的THPTransparentHuge Page)和EPTExtended PageTablesIntel處理器)可以一起幫助虛擬化性能。


5Hadoop配置: BDE將會自動產生並配置hadoop配置文件(主要在map-site.xmlcore-site.xml,和 hdfs-site.xml內),包括塊大小(blocksize),會話管理和日誌功能。但是有一些相關於MapReduce任務的參數,包括mapred.reduce.parallel.copiesio.sort.mbio.sort.factorio.sort.record.percent,和tasktracker.http.thread需要根據不同負載具體設置。


5擴展建議:如果用戶觀察集羣中CPU的利用率經常超過80%,建議加入新的節點。另外單個存貯節點的容量不建議超過24TB,否則一旦節點失敗,數據備份拷貝容易造成數據擁塞。擴展可以按照小規模集羣上運行性能基準經驗和資源使用情況進行。



如有任何問題,您可以發郵件至[email protected]



關於vSphere Big Data Extensions:

VMware vSphere Big Data Extensions(簡稱BDE)基於vSphere平臺支持大數據和Hadoop作業。BDE以開源Serengeti項目爲基礎,爲企業級用戶提供一系列整合的管理工具,通過在vSphere上虛擬化Hadoop,幫助用戶在基礎設施上實現靈活、彈性、安全和快捷的大數據部署、運行和管理工作。瞭解更多關於VMware vSphere Big Data Extensions的信息,請參見http://www.vmware.com/hadoop


作者簡介

154834465.jpg

李欣慧

VMware軟件高級工程師

現擔任VMware大數據部門高級工程師,致力於大數據在雲計算中心上的服務化和高效化,工作在分佈式系統性能優化領域。李欣慧畢業於中科院計算所,後加入IBM實驗室-分佈式計算部,主要工作在雲計算和並行數據處理領域,爲大規模數據中心提供最優監控和運維工業解決方案。有9項專利在美國和中國註冊,在國際知名會議、學術期刊上發表論文5篇。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章