Sahara的基本概念和架构

声明:

本博客欢迎转载,但请保留原作者信息,并请注明出处!

作者:郭德清

团队:华为杭州OpenStack团队

Sahara旨在为用户提供简单部署Hadoop集群的能力,比如通过简单的配置:Hadoop版本、集群结构、节点硬件信息等。在用户提供了这些参数后,Sahara迅速把Hadoop集群部署起来。同时也支持集群的扩容和减容。

其应用场景包括:

1)  提供在OpenStack上快速配置和部署Hadoop集群的能力。

2)  充分利用OpenStack Iaas层的计算能力。

3)  提供分析即服务的数据分析业务,有点像亚马逊的EMR。

Sahara主要的特性包括:

1)  Sahara作为OpenStack的一个组件。

2)  通过OpenStack的Dashboard调用REST API来管理。

3)  支持不同的Hadoop版本

4)  可配置的Hadoop配置模板。

Sahara课OpenStack的Horizon(提供GUI)、Keystone(提供鉴权功能)、Nova(为了创建Hadoop集群虚拟机)、Heat(Sahara可以配置成使用Heat来协调Hadoop集群所需要的服务)、Glance(存放Hadoop虚拟机镜像)、Swift(可以用于存放Hadoop任务处理的数据)、Cinder(用于提供块存储)、Neutron(提供网络服务)、Ceilometer(用于收集集群的信息来达到计量和监控的目的)有交互。

主要的工作流程介绍:

常见的快速配置集群步骤如下:

1)  选择Hadoop版本

2)  选择镜像(如果镜像中没有预安装Hadoop,Sahara也支持通过可插入的部署引擎)

3)  设置集群的参数:大小、拓扑等。

4)  创建集群:Sahara会进行虚拟机的安装和Hadoop的配置。

5)  集群管理:包括添加或者删除节点。

6)  删除集群

通用的分析服务工作流程:

1)  选择一个预定义的Hadoop版本

2)  编辑任务

a)       选择任务类型:pig、hive、jar-file等

b)       提供任务的脚本地址或者jar包的位置

c)       选择输入输出数据的位置

d)       选择日志的位置

3)  设置集群的大小

4)  执行任务

5)  获取任务执行结果

Sahara系统架构图:

Sahara架构包含一下几个模块:

  1. 鉴权模块:负责鉴权和授权,和keystone进行交换。
  2. DAL(Data Access Layer):和数据库访问相关。
  3. 供应引擎(Provisioning Engine):用于和组件Nova, Heat, Cinder、Glance交换
  4. 供应商插件:插件形式提供,用于在虚拟机上配置和启动Hadoop服务。已有的解决方案包括:Apache的Ambari和Cloudera(Hadoop数据管理软件与服务提供商)     Management Console。
  5. EDP(Elastic Data Processing):负责调度和管理Sahara提供的Hadoop集群上的计算任务。
  6. REST API:提供REST使用Sahara功能。
  7. Sahara的Python客户端:和OpenStack其他组件的CLI一样。
  8. Sahara的GUI页面:Horizon上提供Sahara相关的GUI。

【参考资料】

http://docs.openstack.org/developer/sahara/overview.html

http://docs.openstack.org/developer/sahara/architecture.html

时间: 2024-10-14 06:07:48

Sahara的基本概念和架构的相关文章

InnoDB主要特性、概念和架构

Innodb的主要特性 DML操作遵循ACID模型,事务支持commit,rollback和crash recovery,从而保护用户数据 基于行锁以及类似oracle的一致性读,提升了多用户的并发和性能 基于主键对查询进行优化 为了维护数据的完整性,InnoDB也支持外键.如果使用了外键,insert,update以及delete操作都会得到检查,以确保不会导致多表之间的数据不一致. 可以将InnoDB的表和Mysql其它存储引擎的表混合使用,甚至在同一个sql语句当中.比如:可以使用join

MySQL 主从复制与读写分离概念及架构分析

1.MySQL主从复制入门 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B. MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成. 那么,MYSQL-A的变化,MYSQL-B也会变化,这样就是所谓的MYSQL的复制,即MYSQL replication. 在上面的模型中,MYSQL-A就是主服务器,即mast

[转载] 对象存储(2):OpenStack Swift——概念、架构与规模部署

原文: http://www.testlab.com.cn/Index/article/id/1085.html#rd?sukey=fc78a68049a14bb228cb2742bdec2b9498806815fcb59399eee501874bb9e9086bce3050baf1438179330d72d2508871 摘要:开源的最大魅力,是能够满足人们的探索欲和求知欲,让我们可以很深入地了解一个系统,如果我们发现它的设计或者实现中有任何不合理的或者错误的地方,我们可以提出自己的想法并且实

Impala概念与架构

下面的内容介绍Cloudera Impala的背景资料及特性,以便你更高效的使用它.Where appropriate, the explanations include context to help understand how aspects of Impala relate to other technologies you might already be familiar with, such as relational database management systems and

web service概念、架构及相关知识

一.WebService的定义 WebService有好几种定义: W3C组织对其定义:WebService是一个软件系统,为了支持跨网络的机器间互操作交互而设计. WebService通常被定义为一组模块化的API,我们能够通过网络进行调用,来运行远程系统的请求服务. WebService就是暴露给外部使用的,可通过web调用的一组API. WebService是一种跨编程语言和跨操作系统平台的远程调用技术. Web Service = XML+XSD,SOAP和WSDL 事实上这多种定义仅仅

Mysql数据库的基本概念和架构

数据库 1.键:主键是表中的标志列.一个键可能由几列组成.可以使用键作为表格之间的引用. CustomerID是Customers表的主键,当它出现在其他表,例如Orders表中的时候就称它为外键. 2.模式 数据库整套表格的完整设计称为数据库的模式. 一个模式应该显示表格及表格的列.每个表的主键和外键. 一个模式并不会包含任何数据,但是我们可能希望在模式里使用示例数据来解析这些数据的含义. 例如:Customers(CustomerID, Name, Address, City) Orders

爬虫----初级概念的架构

每次遇到爬虫,总会听到python,php等等词,其实什么语言无所谓,只要会用就行了.当然,有些人听到爬虫,就会觉得很高级,还在写网站的时候就在想反扒技术什么的,搞得爬虫变成了一个神秘莫测的东西.然而,我想告诉你的是爬虫真的很简单,几分钟搞定它的基本架构,下面请跟我来. 首先,爬虫要做的事情是将获取网页信息,并且将信息保存在一个地方等待被调用.因此爬虫的架构宏观上就有三部分: 网页--->爬虫处理--->保存: 只要将这三个部分处理好了,爬虫也就会了.(基于python语言) 然而,从网页上获

hive概念、架构、部署及原理介绍

转:https://www.aboutyun.com/thread-21544-1-1.html 问题导读: 1.Hive 是什么? 2.Hive 架构分哪几部分? 3.Hive 文件格式是怎样的? 一.Hive是什么? Hive 是基于 Hadoop 构建的一套数据仓库分析系统,它提供了丰富的 SQL 查询方式来分析存储在 Hadoop 分布式文件系统中的数据, 可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运

mysql主从复制--概念及架构

mysql repication 1 mysql repication原理 前端用户的写操作,或者是数据库修改操作,都会记录到二进制日志文件,保存为事件:master通过3306端口将binlog发给slave mysql服务器,slave mysql服务器将binlog保存到relay log,读取relay log并执行一遍,将数据写入磁盘 1.1 主从示意图 1.2 一主多从.多级复制 2 mysql repication先天缺陷 mysql一个查询只能在一颗CPU上执行,若主有多个CPU