首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》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完成。具体情况取决于实际网络部署方案。