怎样评价OpenStack的Sahara项目
我对这个项目研究过一段时间,简单谈谈我的看法。
先简单介绍下Sahara这个项目:
OpenStack Sahara项目是2013年Mirantis公司贡献给社区的,原名是Savanna,为OpenStack提供Bigdata as Service服务,目前主要由Mirantis和Rethat公司主导开发,前几个版本PTL是Mirantis公司的Vitalii Gridnev,Q版本貌似由rethat公司的工程师担任。
截至Ocata版本(Pike版本还没有更新)统计成熟度为3/7,部署率10%,更详细的统计可以参考Sahara-Big Data Processing Framework Provisioning,从结果上看,Sahara目前还不算是一个成熟的项目。
Sahara项目的设计和其它大多数OpenStack项目一样非常灵活,通过插件机制来支持各种不同的Hadoop发行版,目前支持大多数主流Hadoop厂商插件,如 Cloudera、MapR、Hortonworks。
【怎样评价OpenStack的Sahara项目】 从功能上,Sahara分为两大功能:
Cluster:即集群生命周期管理,包括创建集群、删除集群、集群扩容、集群监控等操作。这个主要解决Hadoop集群的部署问题,使用户可以快速自助创建一个Hadoop集群。
EDP(Elastic Data Processing):即任务管理,类似于大数据的PAAS平台,你不需要关心底层平台,直接可以上传一个Spark程序的Jar包,或者一个Hive脚本,指定数据源(比如HDFS)和输出源(比如Swift),提交任务便可直接运行,运行结束直接往Swift抓取结果即可。
实现原理也比较简单,所有的Hadoop相关的软件包直接打入镜像。创建集群时,Sahara会首先检查集群拓扑是否合法,比如若检查没有namenode节点或者HDFS副本数大于datanode数则会直接报错,然后调用Heat服务(heat engine)创建需要的资源,如虚拟机、volume、安全组等。接着sahara-engine节点会通过ssh到虚拟机执行一些初始化工作,比如修改hosts配置文件等。最后调用厂商部署工具API(如果有的话)完成集群的创建,比如调用cloudera-manage API。
使用过程也非常明了,首先定义角色模板(node group template),角色模板指定节点的flavor、volume size、安全组、镜像、服务进程列表以及Hadoop配置,比如我们定义一个叫做master的角色,指定flavor为m1.large,volume size为100GB,服务列表为Resource Manager、namenode等。然后创建集群拓扑模板(Cluster Template),集群模板由角色模板组合而成,比如定义一个集群包含一个master节点,3个slave节点。最后基于集群模板创建集群。
以上是OpenStack Sahara项目的简单介绍,接下来我对Sahara项目的一点看(tu)法(cao),首先我认为Sahara这个项目的架构和逻辑设计都非常不错,API完成一些通用工作,然后由engine对接不同厂商plugin完成集群部署,用户可以自由选择适合自己的Hadoop发行版,可以自定义集群节点模板、集群拓扑,算是比较灵活自由了。
不过前面也提到了,sahara-engine需要ssh到虚拟机完成配置,这意味着虚拟机必须和sahara-engine管理网打通,这种模式大致和数据库服务Trove类似,不过Trove虚拟机对用户是屏蔽的,但Hadoop集群的虚拟机用户是可以直接登录的,这是否存在安全问题,比如渗透。当然有人建议Hadoop虚拟机也对用户屏蔽,但需要额外配置一个hadoop client虚拟机,这个虚拟机只有一个租户网络,由这个虚拟机负责和Hadoop集群交互,这确实是一种方案,不过目前Sahara没有实现这个功能,不过使用Heat容易实现。当然目前Sahara也支持定义网关(gateway)节点,通过gateway连接虚拟机,具体没有太了解。
另外,目前Sahara还不支持Hadoop集群配置更新和服务管理,没有Trove的configuration概念,这意味着Hadoop的配置只能在创建的时候设置,创建完后就不能更新了,也不支持启动/停止/重启服务。当然,你可以采取暴力的方式绕过Sahara去更新配置,比如自己登录虚拟机去改,或者通过厂商平台去改,比如cloudera-manage。这就涉及运营问题了,用户改的配置,sahara是不知道的,出现问题这是谁的锅。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义
