首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Openstack Sahara开启大数据云端之旅

Sahara是Openstack中BDaaS(BigData-as-a-Service)项目,它能够以更加敏捷的方式管理大数据平台,将大数据平台迁移到云平台,让使用者感受到更加贴心的用户体验。

Sahara基础

云的扩展性、开放性、灵活性。Sahara将云的这些先天性的优点,很好融合到大数据平台。

Sahara可以根据Hadoop/Spark对资源的一些特定要求,比如高性能的CPU,高速的读写能力硬盘(ssd),高速网络传输能力,Sahara通过Heat实现自动调度,将集群部署到具备这些特性的计算节点上。

大数据时代,数据是业务的基础,数据无所不在,随处可见,比如网游、网购、移动支付、物流行业、金融系统等等,随着数据的快速增长,增长量可能达到PB级。每个企业不得不面临两个问题,第一是如何简单快捷的扩容,第二如何保证数据的安全。Openstack本身可以对接多种后端存储,不管是自身的Swift对象存储,还是分布式的Ceph存储。都具备无限横向扩展的能力,并且具有数据自我修复的能力。

Sahara架构

如下图所示,用户可以从Horizon Web UI或OpenStack命令行界面访问和管理大数据资源。要使用OpenStack中的任何服务,需要对Keystone服务进行身份验证。它也适用于Sahara,它需要注册Keystone服务目录。

为了能够创建Hadoop集群,Sahara需要通过联系Glance来在其自己的映像注册表中检索和注册虚拟机映像。 Nova也是为Hadoop集群配置和启动虚拟机的另一个重要的OpenStack核心组件。此外,Sahara可以使用Heat来自动部署Hadoop集群。

Sahara组成

REST API:从仪表板启动的每个客户端请求都将被转换为REST API调用。

身份验证:与其他任何OpenStack服务一样,Sahara必须通过身份验证服务Keystone进行身份验证。这还包括使用Sahara服务的客户和用户授权。

供应商插件:供应商插件位于Sahara体系结构的中间,显示要启动的集群类型。像Cloudera和Apache Ambari这样的供应商在Sahara提供他们的发行版,以便用户可以基于他们的插件配置和启动Hadoop。

弹性数据处理(EDP):支持在Hadoop/Spark集群上运行作业。 EDP确保将作业调度到集群中,并维护作业及其资源的状态,数据源应从何处提取,应该将处理后的数据输出写入到何处。

协调管理器/配置引擎:Sahara集群配置和管理的核心组件。它通过Heat引擎与包括计算、网络、块存储和映像服务在内的其它OpenStack服务进行通信来部署集群。

数据访问层(DAL):Sahara内部的数据存储。

Sahara部署

从上面的架构可以看出,部署Sahara需要提前安装好一些必要的组件,如Keystone、Glance、Nova、Cinder、Neutron、Heat、Horizon等,如果需要满足生产环境的要求,还必须有后端存储。

安装完Sahara,检查支持的plugin类型与版本号,通过浏览器界面,如下图:

也可使用命令行查询:

在http://sahara-files.mirantis.com/images/upstream/中提供了不同版本的plugins,能够根据需要进行下载。

在EDP中Job抽取数据后,数据默认存放在Sahara数据库,同时也支持文件共享存储Manila和Swift对象存储,也可使用Radosgw与Swift对接。实际环境中,优先考虑使用对象存储。

还需要注意的是,采用Sahara部署大数据平台,需要有2个网络,一个是管理网络,一个是数据网络,平台能够通过管理网络与节点进行通信。

Sahara优势

快速配置

通过浏览器执行一些操作,亦或是通过命令行进行交互,部署Hadoop / Spark集群变得非常容易。不需要专业大数据的人员,传统安装的方法,安装人员必须具备一定开发语言的能力,比如scala、java、python、ruby等。如果使用Sahara,只需一个模板或者通过Horizon界面点点鼠标,创建一个Hadoop集群,弹指之间,分分钟搞定。

集中管理

高效地从统一管理界面控制和监控Hadoop / Spark集群。在Sahara管理界面里可以看到,如下图:

集群管理

Sahara提供了一个强劲的模板机制,配置、启动、停止、缩放、调整大小等可能会改变Hadoop / Spark集群生态系统的生命周期管理,以可重复的方式执行相关操作,可以定义Hadoop / Spark配置的模板来简化管理复杂度。

工作量管理

Sahara另一个关键特性是工作量管理。它能够定义如何进行弹性数据处理,运行和调度作业,以及它们应该如何在集群中协同工作。用于数据处理的不同类型的作业有许多,例如MapReduce作业、Pig脚本、Oozie、JAR文件等,Sahara将决定这些不同类型的作业应该如何在定义的集群上运行。

Sahara还支持配置临时集群,并根据需要终止它,例如,运行作业进行某些特定分析,并在作业完成后关闭集群。工作负载管理包含数据源,这些数据源定义了作业将从那读取数据,并将处理结果写入到什么位置。

结束语

微信ID:maxchain

长按左侧二维码关注

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180720G15HN600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券