讀古今文學網 > OpenStack系統架構設計實戰 > 9.3 Sahara的架構 >

9.3 Sahara的架構

9.3.1 Sahara外部架構

用戶需要給Sahara提供信息來建立Hadoop集群,例如,Hadoop版本、集群拓撲、節點硬件配置以及其他相關信息。根據這些信息或參數,Sahara可幫助用戶在幾分鐘之內建立起集群,並能夠幫助用戶根據需求對集群進行擴容和縮容。

在此過程中,Sahara與Horizon、Keystone、Heat、Glance、Swift、Nova、Cinder、Neutron等組件都會進行交互,如圖9-1所示。

圖9-1 Sahara的外部架構

1)Horizon:提供GUI以使用所有Sahara的特性。即,通過Horizon擴展為用戶提供專門的web界面來使用Sahara。與使用OpenStack其他組件一樣,高級用戶依然可以直接使用Sahara提供的REST API,並在其上進行二次開發。但對於以click-and-play的方式使用Sahara的EDP模式,則必須通過Web界面。

2)Keystone:與通常的應用場景相同,Keystone仍然負責認證用戶並提供安全令牌,用以與OpenStack通信,以及給用戶分配特定的OpenStack權限。

3)Heat:作為OpenStack中的應用編排組件,Heat可以為Sahara中的Hadoop集群提供編排。同時,Sahara也提供了自己的Hadoop集群編排引擎ProvisioningEngine。

4)Glance:與通常的應用場景相同,Glance仍然負責提供鏡像管理服務。即,用於儲存Hadoop虛擬機鏡像,每個鏡像都包含了已安裝的OS和Hadoop。

5)Swift:進行Hadoop作業的預存儲。但使用Swift作為Sahara的輸入/輸出數據存儲或者數據處理程序包存儲,只是一種選項,不是必需的。用戶可以選擇直接登錄Hadoop集群,像使用物理集群一樣正常操作,而不必先把數據或程序包上傳到Swift。

6)Nova:為Hadoop集群配置虛擬機,是Sahara不可或缺的底層服務。

7)Cinder:Sahara允許用戶在節點組模板中指定每個組中的節點上需要添加的卷的大小和數量。如果數量不為0,則後續在創建虛擬機的過程中,會由Cinder創建卷,再由Nova將卷附加到虛擬機上。反之,如果卷數量為0,則不會使用Cinder的服務。

8)Neutron:在創建組成Hadoop集群的各個虛擬機之後,Sahara需要為每個虛擬機分配動態IP。這一操作可以借助Neutron實現,也可以由nova-network完成。具體情況取決於實際網絡部署方案。