首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

IBM Platform Symphony 高效的大数据处理引擎(1)

IBM Platform Symphony 高效的大数据处理引擎(1)

Platform Symphony 简介简单来说,Platform Symphony 是一个提供数据分发、任务调度以及资源管理的企业级分布式计算框架,并且支持异构化的 IT 环境。Symphony 由两层架构组成,一层是负责资源管理的 EGO,另一层是任务管理的 SOAM。在 Symphony 的集群中,用户需要根据 Symphony 提供的 API 实现 Client 和 Service 程序。Symphony 涉及的基础模块如下图。
图 1. Platform Symphony 基础模块如图所示,Client 程序用于提交任务到 Symphony 集群,Symphony 会在 EGO 层为该类应用申请计算资源,接着在对应的机器上启动用户的 Service。Service 接收任务数据并进行计算,最终会通过 Symphony 将任务结果返回 Client 程序。
PMC 是 Symphony 提供的一个专业 WEB 操作界面,其可以定制 Symphony 集群的配置,以及管理任务等。
CLI 是 Symphony 提供了一些命令行工具的集合,对于习惯使用命令操作的用户来说,更加方便和高效。Knowledge Center 是 Symphony 产品文档的 WEB 接口,用户可以在其中找到 Symphony 各个功能的介绍和使用方法。
分布式大数据框架的分类在详细介绍 Platform Symphony 与大数据生态圈的关系之前,让我们先了解一下整个大数据生态系统。我个人理解是:目前这个行业可以简单的分为三大块,分别是数据源、数据处理以及数据分析。数据分析是直接将大数据转换为商业价值的领域,在数据分析的领域会提出各种业务需求。数据处理领域则是负责实现数据分析提出的需求,这一领域也就是我们经常说的基础设施架构层(Infrastructure)。数据源指的就是数据产生的地方。在这三块之间也有一些衔接的软件领域,不过往往也都归在了数据处理领域(基础架构层),例如衔接数据源与数据处理层的数据导入工具(如 sqoop 等),以及衔接数据分析和数据处理的应用接口(如:SQL 接口的 Hive,以及流的接口等)。在大数据的这三大领域中有很多开源以及非开源的产品,熟知的开源的 Hadoop、Spark 等,都属于数据处理领域,也就是基础架构这块。IBM Platform Symphony 无疑也属于这一块。综上所述,如果宏观的抽象出整个大数据生态涉及的相关领域,大致如下图所示:
图 2. 大数据行业相关的领域基于对大数据相关领域的宏观描述,下来我们就再来谈下基础架构这一块。目前大多开源相关的大数据框架基本可以归属到基础设施架构这块。为了更好的理解各个框架之间的关系,我们又将基础设施架构这块分为四层,分别是数据存储层、集群资源管理层、计算引擎层、以及应用接口层。除了一些提供易用性、可维护性以及健壮性的框架之外(一般也可以统称为管理类),其他大部分都可以归在这四类。例如 HDFS 属于数据存储层,Mesos 和 Yarn 则属于集群资源管理层,Hadoop MapReduce、Storm、Spark 等则归属于计算引擎层,Hive、Pig 则为数据查询提供接口。Ambari 则是一个提升易用性和可维护性的工具,Zookeeper 提供了健壮性(HA)。这些系统之间具体的关系,请参见下面的简图:
图 3. 分布式大数据基础架构关系图那么 Platform Symphony 又具体处在哪个层,又可以替代哪些开源的框架呢?带着问题,我们来理解下图。
图 4. Platform Symphony 与大数据生态圈的关系从图 3 中我们可以看出,在大数据应用场景中,Platform Symphony 既处在资源管理层,也涵盖了计算引擎层。因此很多原有的大数据应用,都可以很平滑的迁移到 Symphony 的集群中运行,例如 Hive、Pig 等。并且用户以前在 Hadoop MapReduce 上开发的应用也可以很平滑的运行在 Symphony 之上。
类比开源的框架,Platform Symphony 中的 EGO 相似与 Yarn 和 Mesos 处于集群资源管理层,SOAM 处于计算引擎层,负责任务管理和调度。Symphony MapReduce 只是 Symphony 内置的一种应用(Hadoop MapReduce 也是内置于 Yarn 的一种应用)。用户其实可以根据 Symphony 的 API 实现各种不同的 Symphony 应用。目前 Symphony 已经与开源 Yarn 和 Spark 集成,也就是说用户之前在 Yarn 和 Spark 上面的应用,可以直接通过 Symphony 管理和调度集群资源。
返回列表