讀古今文學網 > OpenStack系統架構設計實戰 > 9.4.2 Sahara與VMware Serengeti的對比 >

9.4.2 Sahara與VMware Serengeti的對比

Serengeti是由VMware推動的一個開源項目,支持企業在虛擬和雲環境中快速部署、管理和擴展Apache Hadoop。此外,VMware與Apache Hadoop社區共同合作研發擴展功能,讓主要組件可以「感知虛擬化」以支持靈活擴展,並進一步提高Hadoop在虛擬化環境中的性能。與此對應的,VMware推出的產品叫BigData Extension(BDE)。

Serengeti基於Apache 2.0許可證。它是一鍵式部署工具包,支持企業利用VMware vSphere平台,在幾分鐘內部署高可用的Apache Hadoop集群,包括Apache Pig和Apache Hive等常見的Hadoop組件,從而實現Hadoop集群的可用性和可管理性。

vSphere BDE是VMware基於Serengeti開源技術的企業發行版,其部署架構如圖9-4所示。其重點是增強vSphere基礎架構對Serengeti的支持,更好地部署、運行和管理大數據相關負載。

圖9-4 Serengeti BDE部署架構

從部署角度看,BDE打包了Serengeti虛擬化應用,並且包括一個vCenter網頁客戶端的插件。

Serengeti虛擬化應用(Virtual Appliance)包括Serengeti管理服務器和虛擬機模板。這個應用可以很容易地部署在VMware的vCenter之上。

Serengeti管理服務器(Management Server)是整個Serengeti的核心部件,提供Hadoop集群在虛擬化環境下的部署、管理的功能,並且為不同用戶提供不同的資源使用策略。

對資源利用率要求高的客戶,可以在Serengeti的幫助下,使資源在Hadoop應用與其他應用之間有效地共享。而對於Hadoop的性能有更高要求的客戶,則可以通過Serengeti實現資源在不同應用之間的完美隔離,達到在資源獨佔情況下的最優使用效果。

Serengeti管理服務器對外提供RESTAPI,以便遠程客戶端訪問和控制Hadoop集群。Serengeti CLI和BDE的UI插件都是通過RESTAPI訪問Serengeti管理服務器的。

Hadoop集群的所有虛擬機都是從Serengeti虛擬機模板直接或間接複製而來的,其中包括一個基本的CentOS操作系統,以及簡單的集群安裝需要的軟件。但是其中不包含Hadoop的安裝包,這是因為Serengeti可以支持多種Hadoop發行版,這些軟件的安裝是在集群的創建過程中完成的。

部署完成之後,Serengeti管理服務器作為一個虛擬化應用運行在某一台虛擬主機中,並且註冊成為vCenter的一個擴展服務器。之後,Serengeti會和vCenter建立SSL鏈接,確保數據交互的安全性和可靠性。

以下簡單闡述一下「應用雲化」和「應用虛擬化」的區別。

本質上,「應用雲化」和「應用虛擬化」是兩件可相關、可無關的事情。當雲上的應用運行在虛擬機上的時候,則應用虛擬化問題的有效解決對應用雲化有益(主要是性能和可靠性的提升)。而當「應用」雲化採用了其他形式的底層技術(如裸機部署雲化管理或者基於容器進行開發等)時,則這兩個問題就已經沒有必然聯繫了。

Serengeti的基本定位是解決Hadoop的虛擬化問題,即Serengeti項目的主要關注點在於如何提高搭建在虛擬機環境下的Hadoop集群的性能和可靠性。通過對Hadoop的有限擴展,Serengeti讓運行在虛擬化環境(vSphere)中的Hadoop應用能夠意識到虛擬化環境的特點,從而有針對性地進行任務調度和數據分佈,以避免物理節點失效導致的業務失敗。而Sahara主要關注點在於解決Hadoop應用雲化的問題。

因此,Sahara和Serengeti的區別實際上是「應用雲化」和「應用虛擬化」的區別。但Sahara中的Hadoop集群部署在虛擬機之上,因此,Serengeti提供的虛擬化環境下Hadoop性能優化的經驗,可作為Sahara的參考。