其他
部署大数据处理服务:详解OpenStack Sahara架构
本文经过九州云授权,转载自九州云订阅号“九州云99Cloud”
Sahara是为了帮助用户在OpenStack云计算平台上,方便简单的部署大数据处理的服务。在OpenStack平台上安装Sahara服务后,通过支持可插拔的、模块化插件的方式支持不同的大数据处理架构,目前支持的数据处理架构有多个供应商的Hadoop发行版,Apache的Spark和Storm,还有与特定供应商集成的管理工具,如Apache的Ambari和Cloudera的管理控制系统集成。
作为一个OpenStack云计算平台上提供大数据处理服务的组件,Sahara主要解决以下三个问题:(1) 在OpenStack平台上快速部署可以开发和进行测试的数据处理集群(2) 在通用的OpenStack平台上提供未使用的计算资源和能力(3) “分析即服务”,提供临时或者突发的分析工作,类似于Amazon Elastic MapReduce(EMR)
选中模板后,按del键,或者拖动到编辑区域右边松开,就会快速删除各模块的功能如下:
如果在一台物理机上的话,无法保证集群中的复本是可靠的,因为所有的复本可能保存在同一台物理机上。为了解决这一问题,Sahara提供了一个anti-affinity的特性去保证虚拟机不会创建在同一台物理机上。
从Juno版本开始,Sahara就有这个特性了。Sahara为每个集群创建服务组,把所有的虚拟机分配到受影响的服务组中。
用户可以挂载很多的容量不同的卷到虚拟机上。在集群创建和扩大的操作中被挂载。
Hadoop支持数据局部性的特性,并且把任务调度到输入流在本地的task tracker节点上。在这种方式下,task tracker节点可以直接和本地的数据进行传输。
在分布式模式下,可以把sahara-api和sahara-engin部署到不同的机器上,这样sahara-api节点只处理请求,而sahara-engin则处理部署工作。
比如创建如图4模式的Hadoop集群时,先创建三个集群模板,然后在创建集群时再设置各个模板的节点个数,最后启动集群。
而Sahara的“分析及服务”EDP的创建流程则更简单,只需进行如图3的流程创建任务之后,即可在集群中完成该任务。
配置集群的过程中有几个重要的概念需要理清楚,下面以Hadoop为例:
节点:部署Hadoop的一台虚拟机,与Hadoop的节点对应
节点组:flavor相同、Hadoop服务相同的一组节点
原创文章,转载请务必在文首注明转自“九州云99Cloud”及原作者,谢谢配合~
KVM云技术社区微信群加入,联系北极熊:
KVM云技术社区QQ群,99.99%纯技术交流气氛
QQ 1群:434720759(已满)
QQ 2群:131961942,加入密码大写KVM
1000人VMWare技术交流群:494084329,加入密码小写vm
OpenNebula QQ群:495571573 加入密码Nebula
2000人OpenStack开发纯技术群: 334605713 加入密码nova
Cloudstack纯技术交流群:515249455密码cs
2000人桌面云行业讨论: 484979056 加入密码大写VDI
2000人超融合行业讨论群:65779632 加入密码大写HC
2000人云技术招聘求职群: 279875515 加入密码hr