加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

部署大数据处理服务:详解OpenStack Sahara架构

发布时间:2021-01-18 18:49:09 所属栏目:大数据 来源:网络整理
导读:本文颠末九州云授权,转载自九州云订阅号 “九州云99Cloud” Sahara是为了辅佐用户在OpenStack云计较平台上,利便简朴的陈设大数据处理赏罚的处事。在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)
?

陈设大数据处理赏罚处事:详解OpenStack Sahara架构

架构
Sahara的架构变革很快,从最开始的一个处事历程,到将处事分为sahara-api、sahara-engin、task execute framework、conductor等处事,每个处事各司其职,完成大数据处理赏罚架构的陈设和使命的分派与打点事变,其架构图如图1所示。


陈设大数据处理赏罚处事:详解OpenStack Sahara架构

图1 Sahara架构图

选中模板后,按del键,可能拖动到编辑地区右边松开,就会快速删除
各模块的成果如下:
l?? Keystone:提供同一的认证和处事列表处事。
l?? EDP(Elastic data processing):Sahara最重要的成果之一,可在集群中调治和打点大数据处理赏罚架构的使命。
l?? Vendor Plugin:以插件情势支持各类大数据处理赏罚架构。
l?? Cluster Configuration Manager:实现对集群设置的打点,可以设置节点、节点组、节点组模板、集群、集群模板。
l?? Data Access Layer是数据库的耐久模子,相同如Nova中的conductor处事。
l?? Resource Orchestration Manager暗示资源编排打点,通过挪用Nova、Cinder、Glance等处事API可能行使Heat来实现大数据处理赏罚架构的自动陈设。
从图1 上可以看出,Python Sahara Client处理赏罚从Horizon和呼吁发送行过来的哀求,并挪用Sahara-api处事,Sahara-api处事将哀求路由到差异的模块处理赏罚。

陈设大数据处理赏罚处事:详解OpenStack Sahara架构

成果概述
颠末多个版本的迭代,此刻Sahara支持多个重要成果,如提供数据永世性的块存储,为大数据计较使命提供数据存储的工具存储支持,集群的扩展等等成果,Sahara此刻支持的成果有:

? 提防节点类似?

在OpenStack平台长举办数据处理赏罚的时辰,不能节制节点在哪些物理机上建设。不行能一向担保两个假造机建设在差异的物理机上。

假如在一台物理机上的话,无法担保集群中的复本是靠得住的,由于全部的复本也许生涯在统一台物理机上。为了办理这一题目,Sahara提供了一个anti-affinity的特征去担保假造机不会建设在统一台物理机上。?

从Juno版本开始,Sahara就有这个特征了。Sahara为每个集群建设处事组,把全部的假造机分派到受影响的处事组中。

支持块存储

OpenStack的块存储Cinder可以用作假造机上作为可供选择的姑且的驱动。行使块存储会进步数据的精确定,这对HDFS处事很重要。?

用户可以挂载许多的容量差异的卷到假造机上。在集群建设和扩大的操纵中被挂载。

? 集群扩展

集群扩展成果可以让用户改变集群中假造机的数目,这个操纵是不必要从头建设集群的。在已经存在的集群上,用户可以增进或镌汰节点组,假如集群扩展失败,全部的修改会被回滚。
??? 数据局部性

为了最高的机能,最好是让数据处理赏罚应用事变在数据地址的机架上,如OpenStack计较节点可能假造机上。


Hadoop支持数据局部性的特征,而且把使命调治到输入流在当地的task tracker节点上。在这种方法下,task tracker节点可以直接和当地的数据举办传输。


假造机存储卷的当地化
假如假造机和卷在沟通的物理机上,这将会是一件很是柔美的工作,由于IOS操纵很是快了。在Sahara设置文件中可以启动该成果。

漫衍式模式

Sahara的处事sahara-api和shahara-engin历程不仅可以在一台呆板上运行,并且还可以分隔运行。


在漫衍式模式下,可以把sahara-api和sahara-engin陈设到差异的呆板上,这样sahara-api节点只处理赏罚哀求,而sahara-engin则处理赏罚陈设事变。


HDFS的HA
HDFS的高可用框架确保活泼的namenode死掉后继承事变,Hadoop是通过行使2个namenode来确保靠得住性的,这两个节点一个处于active,另一个处理赏罚passive。HDFS的HA是通过行使节点日记实现的。Zookkeeper处事,和Zookeeper妨碍转移节制来实现的。
收集支持
Sahara支持nova-network和neutron两种收集实现方法。假如nova-network可以行使的话,Sahara优先行使nova-network。

工具存储支持
Sahara行使swift存储使命的二进制文件和数据资源

共享文件体系
Sahara可以通过OpenStack的文件共享处事Malina行使NFS文件共享体系使命的二进制文件和数据资源。更具体的内容可查察EDP。

安详组打点
可以在节点组和节点组模板中设置大数据处理赏罚架构集群的安详组,该选项默认值是一个空列表。Sahara还可以自动的建设一个安详组,为实例和Sahara引擎建设所需的端口,可是在出产情形里不提议这么做。

?共享和私有资源支持

Sahara应承在统一租户下建设共享的可能受掩护的资源。实现方法是配置全部可以通过REST API会见的工具中的两个属性is_public和is_protected,True暗示受掩护的,是果真的;False暗示是不受掩护的,私有的。

陈设大数据处理赏罚处事:详解OpenStack Sahara架构

集群建设
通过Sahara建设一个集群的进程是很简朴的,只需凭证图2 Hadoop的建设进程即可快速的建设一个Hadoop集群,而Storm和Spark的建设流程也是相同的。

陈设大数据处理赏罚处事:详解OpenStack Sahara架构

图2 Hadoop集群建设流程
在建设集群的时辰,起主要建设节点组模板,然后选择节点组模板建设集群模板,最后选择集群模子建设一个集群。

好比建设如图4模式的Hadoop集群时,先建设三个集群模板,然后在建设集群时再配置各个模板的节点个数,最后启动集群。

陈设大数据处理赏罚处事:详解OpenStack Sahara架构

图4 三节点组的Hadoop集群
在Sahara提供集群处事之前,起主要提供具体的Hadoop集群设置,设置完成启动集群之后,可添加或删除节点,数据处理赏罚完成之后,可以选择删除集群。

而Sahara的“说明及处事”EDP的建设流程则更简朴,只需举办如图3的流程建设使命之后,即可在集群中完成该使命。

陈设大数据处理赏罚处事:详解OpenStack Sahara架构

图5 Hadoop使命执行流程


设置集群的进程中有几个重要的观念必要理清晰,下面以Hadoop为例:




? ?? 节点:陈设Hadoop的一台假造机,与Hadoop的节点对应
  • 节点组:flavor沟通、Hadoop处事沟通的一组节点

l?? 节点组模板:用于建设一个节点组的模板,在该模板中界说了沟通的flavor、Hadoop版本和处事,通过该模板可以建设一组沟通的节点。
{?
????????????????”name”: “test-master-tmpl”,?
????????????????”flavor_id”: “2″,136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????????”plugin_name”: “vanilla”,136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????????”hadoop_version”: “2.4.1″,136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????????”node_processes”: ["jobtracker","namenode"]?
????? }
l?? 集群:由多个节点构成的集群,而这些节点属于差异的节点组,。。。。
l?? 集群模板:用于建设集群的模板,通过该模板可以建设多个同样设置的集群。在集群模板中界说集群模板由哪几组节点组,以及每个节点组中的个数。以下是集群模板数据范例
??? ?{?
????????????”name”: “hadoop-cluster-template”,136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????”plugin_name”: “vanilla”,136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????”hadoop_version”: “2.4.1″,136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????”node_groups”: [??
????????????????{?
????????????????????"name": "master",136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????????????"node_group_template_id":"",136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????????????"count": 1?
????????????????},136); box-sizing: border-box !important; word-wrap: break-word !important;">"name": "workers",
"node_group_template_id":"",136); box-sizing: border-box !important; word-wrap: break-word !important;">????????????????????"count": 2?
?????????????????}]?
?????? ???}

陈设大数据处理赏罚处事:详解OpenStack Sahara架构

总结
从Sahara的spec可以看出,颠末多个版本的迭代,Sahara支持的成果越来越完美了。固然还存在很多的不敷之处,可是在跟着OpenStack版本的迭代,信托社区的孝顺者会逐渐的完美各类成果。

原创文章,转载请务必在文首注明转自“九州云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


(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读