Sahara的内部架构如图9-2所示。
1)鉴权模块(Auth):负责鉴权和授权,和Keystone进行交换。
2)DAL(Data Access Layer):与数据库访问相关。
3)供应引擎(Provisioning Engine):用于与组件Nova、Heat、Cinder、Glance交互。
4)供应商插件(Vendor Plugin):提供可插拔机会,用于在虚拟机上配置和启动Hadoop服务。例如,Apache Ambari和Cloudera Management Console都是已有的管理解决方案。
5)EDP:负责调度和管理Sahara提供的Hadoop集群上的计算任务。
6)REST API:通过REST使用Sahara功能。
7)Sahara Python客户端:与OpenStack其他组件的CLI一样。
8)Sahara GUI页面:Horizon上提供Sahara相关的GUI。
图9-2 Sahara的内部架构
常见的Sahara快速配置集群流程如下:
1)选择Hadoop版本。
2)选择镜像(如果镜像中没有预安装Hadoop,Sahara也支持通过可插入的部署引擎)。
3)设置集群的大小、拓扑等参数。
4)创建集群:Sahara会进行虚拟机的安装和Hadoop的配置。
5)集群管理:添加或者删除节点。
6)删除集群。
通用的分析服务任务的流程如下:
1)选择一个预定义的Hadoop版本。
2)编辑任务。
①选择任务类型:pig、hive、jar-file等。
②提供任务的脚本地址或者jar包的位置。
③选择输入输出数据的位置。
④选择日志的位置。
(3)设置集群的大小。
(4)执行任务。
(5)获取任务执行结果。