0
0
0
---
sahara的架构
vitas.yuzhou 发表于 2014年06月05日 05:06 | Hits: 3338
Tag: openstack
背景
sahara(以前叫savanna)以前是openstack的孵化项目,但是从openstack的下一个版本juno开始将成为openstack 的核心项目,它是由领先的Apache Hadoop贡献方Hortonworks公司,最大的OpenStack 系统集成商Mirantis公司,以及 全球领先的开源解决方案及最新版OpenStack的最大贡献方红帽公司联合发起的。Sahara项目旨在为OpenStack用户提供一种简单、快捷地部署以及管理Hadoop集群的方案,类似于亚马逊Elastic MapReduce (EMR) 服务。本文主要讨论一下sahara当前和今后的架构演进。
sahara当前的架构
sahara的架构由一下服务组件构成:
- 集群配置管理器—所有的业务逻辑都在这里组装
- 鉴权组件—作为鉴权服务的client
- 数据访问层—负责在数据库中持久化内部的数据模型
- 虚拟机配置—负责与nova和glance交互
- 部署引擎—插件机制,负责部署hadoop到配置好的vm上;已经存在的管理方案如apache ambari 和 cloudera managent console可用于此
- REST API—通过REST风格的接口暴露sahara的功能
- python sahara client—和其他openstack组件一样sahara也有他的python客户端库
sahara的下一代架构以及相关工作
第一阶段: 拆分sahara为多个服务组件 sahara-api(s-api):负责rest api;插件和操作的校验,创建最初的操作任务 sahara-conductor(s-conductor):负责与数据库的交互和相关的封装 sahara-engine(s-engine):负责执行任务包括长时间运行的任务,与其他openstack服务交互(即调用nova,glance,cinder创建虚拟机和卷等)
第二阶段: 为配置任务实现高可靠性 sahara中所有重要的任务都应该是可靠的。所以也就要求支持事务和回滚。这里社区倾向于使用https://wiki.openstack.org/wiki/TaskFlow实现相关功能。
我要给这篇文章打分:
可以不填写评论, 而只是打分. 如果发表评论, 你可以给的分值是-5到+5, 否则, 你只能评-1, +1两种分数. 你的评论可能需要审核.