AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

OpenStack 大数据项目 Sahara 概述

  • 2014-04-16
  • 本文字数:2190 字

    阅读完需:约 7 分钟

2013 年 4 月,OpenStack 社区知名厂商 Mirantis 正式宣布了基于 OpenStack 的开源 BDaaS(BigData-as-a-Service)项目——Sahara(原名 Savanna),正式开始了在 OpenStack 上构建大数据服务能力的努力。

近日,开源技术专家章宇( @一棹凌烟)在其博客上分享了对 Sahara 项目的研究心得。整个介绍系列分为 7 篇文章,除前言部分外,其余六篇分别是:

在《 Sahara 概述》中,章宇介绍了 Sahara 的定位、功能的演进、社区支持力度与整体发展的趋势。

Sahara 最初的基本定位是基于 OpenStack 提供简单的 Hadoop 集群创建方式,不过随着项目不断演进,Sahara 所涵盖的范畴也有所扩大。章宇从两个层面介绍了 Sahara 项目的发展方向:

从服务层次的维度看,Sahara 已经开始从利用 OpenStack 的 IaaS 能力,提供简单的大数据工具集群创建和管理服务,扩展到提供分析即服务(Analytic-as-a-Service)层面的大数据业务应用能力。Sahara v0.3 中引入的 EDP(Elastic Data Processing)就是一个明确的体现。

从承载的业务类型维度看,Sahara 也很有可能会迅速突破单一的 Hadoop 工具范畴,拓展支持其他新兴的大数据工具。例如,关于提供 Spark 支持的 BP 已经被提交至社区,目前正在等待 review。

Sahara 项目的发展较快,其项目 PTL Sergey Lukjanov 已经宣布 Sahara 将于 OpenStack Juno 版本中正式成为integrated 项目,目前代码已经提交,并在等待review,其版本演进可以参见其wiki 页面介绍。目前Sahara 已经被集成在RDO 中,因此可以被更为简单方便的安装部署。

Sahara 使用方式》简单介绍了 Sahara 的使用模式、基本概念与操作流程。

Sahara 有两种使用模式:

  • 基本的大数据集群应用模式(基本模式)
  • 通过 EDP 机制引入的分析即服务模式(EDP 模式)

简单来说,基本模式要求用户自己从底层搭建 Hadoop 虚拟机、建立集群,技术门槛较高;而 EDP 模式有点类似于 AWS EMR 服务,对底层的 Hadoop 集群操作和 Hadoop 业务操作进行了封装,暴露给用户的只有非常简单的接口,使用简便。

章宇介绍了 Sahara 当中的节点(node)、节点组 (node group)、节点组模板(node group template)、集群(cluster)、集群模板(cluster template)、任务(job)等关键概念,并简单列出了在基本模式下用 Sahara 建立 Hadoop 集群的操作流程。整个介绍比较概括,step by step 的操作文档可参考 Sahara 官方的 QuickStart

接下来,章宇开始从研究代码的层面介绍Sahara 的设计与实现。Sahara 的设计有两大特点:

1、模块化、可配置:

Sahara 中的大量功能和机制,都基于可选择、可配置的模块化插件实现,例如:可以通过对 engine 的配置来选择不同的 Hadoop 集群编配引擎,通过对 plugin 的配置来选择不同的 Hadoop 发行版安装与部署方式和工具,等等。

2、代码重用:

Sahara 也尽可能重用了 OpenStack 自身提供的 IaaS 层组件及其服务,例如:利用 Nova 提供虚拟机资源,利用 Horizon 提供人机界面,等等。

Sahara 对 Horizon(界面)、Glance(镜像管理)、Keystone(身份认证)、Heat(集群配置)、Ceilometer(监控)、Nova(虚拟机管理)、Neutron(网络)、Cinder(块存储)和 Swift(对象存储)都有不同程度的代码复用,其中 Nova、Glance 和 Keystone 是必要组件,其他组件可选用。

Sahara 的整体架构可参考其架构图。其中,章宇建议:

在分析集群创建流程时,主要应关注 sahara.api、sahara.service.api、sahara.service.engine 和 sahara.plugins 这四个 package 的各自行为及相互关系。其中,sahara.service.api 中的 _provision_cluster() 驱动了整个 cluster 创建的过程。

接下来,章宇从产品和技术的层面将 Sahara 与 EMR、Serengeti 进行了对比,要点如下:

  • EMR 在 Sahara 基本模式的基础上融合了 EDP 模式的特点
  • EDP 的用户只需要指定“哪些数据”、“哪个集群”、“哪个程序包”这三要素,而完全不用关心集群如何创建、如何管理这样的与自己核心业务诉求无关的问题
  • EMR 的用户则除了需要在创建集群时指定大量信息外,还需要负责集群和业务的运行管理
  • 比较而言,EDP 的用户是纯粹的大数据业务应用者,而 EMR 的用户则身兼业务应用和系统运维两种职责
  • 基于 EMR 的大数据解决方案,全面涵盖了数据的存储、计算、分析、共享等各个处理环节,这是 Sahara 还难以企及的
  • Sahara 和 Serengeti 的区别,可以说是“应用云化”和“应用虚拟化”的区别。Serengeti 项目的主要关注点在于如何为搭建在虚拟机环境下的 Hadoop 集群提高性能和可靠性,这里面的思考是 Sahara 可以借鉴的

介绍到这里,章宇对 Sahara 目前的状态进行了概述,认为目前的 Sahara 还面临以下几点挑战:

  • Sahara 的管理平面性能存在疑问,创建和发布集群的等待时间有待测试
  • 复杂管理的成功率方面,目前 Sahara 中没有看到明确的处理机制,这是一个缺失
  • Sahara 搭建的 Hadoop 在虚拟化环境下的性能有待优化,不过这个问题可以等到前面两个关键问题解决了之后再来优化
  • Auto-scaling 的缺失。目前 Sahara 要扩展需要人工执行
  • Sahara 最大的亮点在 EDP,其价值有待进一步挖掘
2014-04-16 00:2110234

评论

发布
暂无评论
发现更多内容

架构师成长路线

AI架构师汤师爷

软件架构 架构师 成长路线

Apache ShardingSphere 企业行|走进汽车之家

SphereEx

数据库 企业 ShardingSphere SphereEx apache 社区

元宇宙核心技术--脑机接口

CECBC

微服务实战文档分享,阿里内部的Spring cloud微服务精髓都在里面

Java架构追梦

Java 微服务 阿里

不愧是字节跳动技术官,算法精髓全写这本666页笔记里了

Java架构追梦

Java 程序员 数据结构与算法、

15 个优秀开源的 Spring Boot 学习项目,一网打尽!

爱好编程进阶

Java 程序员 后端开发

云原生 on nLive:云上 Nebula Graph

NebulaGraph

数据库 图数据库 原生云

What?构造的查询语句会导致堆栈溢出

华为云开发者联盟

neo4j 图数据库 堆栈溢出 查询语句 查询语言

2年工作经验的Java程序员面试经历

爱好编程进阶

程序员 后端开发

终于有人把tomcat讲清楚了!阿里大牛推荐的tomcat架构解析文档

Java架构追梦

Java 后端开发 JVM’

2021年4月23号,成功斩获阿里(Java岗

爱好编程进阶

Java 程序员 后端开发

区块链 重塑不良资产互信机制

CECBC

BATJ关于Redis的高频面试真题

爱好编程进阶

Java 程序员 后端开发

[Day36]-[二叉树]-在每个树行中找最大值

方勇(gopher)

LeetCode 二叉树 数据结构算法

动手实操丨RC522射频卡模块与IC卡完成充值消费查询的技术实现思路

华为云开发者联盟

stm32 RC522射频卡模块 IC卡 RC522

云图说 | 华为云医疗智能体EIHealth,AI赋能基因组研究

华为云开发者联盟

华为云 云图说 EIHealth 医疗智能体 基因组

内存不超过5M,datop 在识别冷热内存及跨 numa 访存有多硬核?| 龙蜥技术

OpenAnolis小助手

cpu 内存 datop 轻量级 muma

《数字经济全景白皮书》Z世代用户洞察篇 完整版 发布

易观分析

Z世代

让 Rust 的 CI 加速 2~3倍速度

非凸科技

rust 构建 cl cithub 缓存空间

(JavaSE)数据类型变量与运算符

爱好编程进阶

Java 程序员 后端开发

13-注解增删改查

爱好编程进阶

Java 程序员 后端开发

7Z命令行

爱好编程进阶

Java 程序员 后端开发

网站开发进阶(二十五)JS实现将html表格导出为excel文件

No Silver Bullet

5月月更 表格导出

OpenHarmony 3.1 Beta版本关键特性解析——分布式DeviceProfile

OpenHarmony开发者

OpenHarmony OpenHarmony 3.1 Release DeviceProfile

2021全网最全Activiti7教程02(Activiti7入门使用-欢迎收藏)

爱好编程进阶

Java 程序员 后端开发

显卡只是为游戏而生吗?GPU服务器了解一下

Finovy Cloud

GPU服务器 GPU算力

Stack 顿悟三部曲(1):从CPU的视角说起

蓬蒿

cpu 堆栈 计算机原理 stack

2021-11-9【数据结构平时实验】

爱好编程进阶

Java 程序员 后端开发

4年JAVA外包终上岸,我只能说避雷这些公司

爱好编程进阶

Java 程序员 后端开发

维权思考

成周

耗时三年终于整理出了SSM+微服务+Nginx+Redis+MySQL的PDF了!

Java架构追梦

Java 后端开发

OpenStack大数据项目Sahara概述_语言 & 开发_sai_InfoQ精选文章